Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 24.03.2017 07:28:25

Проверка условия в классе валидации запроса

Доброго времени суток!
А как можно было бы в классе валидации, который представляет собой

extends FormRequest

проверить какое-либо условие, кроме правил, проверяемых в

public function rules()

?
Например, обработать запрос при определенном значении поля в БД.
По-идее, можно вставить такую проверку в

public function authorize()

Но, может, правильно это сделать по-другому?
С уважением.

Не в сети

#2 24.03.2017 11:09:55

Re: Проверка условия в классе валидации запроса

    public function validate()
    {
        $this->tableExistsValidator();

        parent::validate();
    }

    public function tableExistsValidator()
    {
        Validator::extend('table_exists', function ($attribute, $value, $parameters, $validator) {
            return Schema::hasTable(array_get($this->all(), 'form.tablename', 'test'));
        });
    }

    public function rules()
    {
        return [
            'form.tablename' => 'required|string|table_exists',
        ];
    }

Код не проверял ... big_smile

Не в сети

#3 24.03.2017 11:15:46

Re: Проверка условия в классе валидации запроса

С виду - логично! Спасибо!

Не в сети

Подвал раздела