Проверка Laravel: значение должно быть в массиве, только если поле является обязательным

Я использую Laravel 5.3 и мне нужно проверить поле

Поле, которое мне нужно проверить, требуется, только если другое поле имеет значение 1, и это работает.

Если поле является обязательным, введенное значение должно быть в данном массиве.

Проблема в том, что проверяемое значение равно NULL, поэтому оно не отображается в массиве и проверка завершается неудачно

Вот мое правило до сих пор

$test->other_field = 0
$test->my_field = NULL;

$rules = array(
'my_field' => 'required_if:other_field,1', //|in:' . implode(',', $array),
);

required_if работает нормально, но если я раскомментирую in часть, проверка не проходит

0

Решение

Я решаю это путем создания нового FormRequest и добавления следующего кода.

public function rules(Request $request)
{
if($request->has('other_field '))
{
$rules = array(
'my_field' => 'in:' . implode(',', $array)
);

return $rules;
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector