Laravel, проверка условия, если запрос не нулевой

У меня есть форма в Laravel, и я работаю с отправкой и проверкой, но я делаю пользовательскую проверку для проверки данных в базе данных (для очистки).

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

Например, у меня есть форма ввода на моем блейде:

<td>{!! Form::select('productNumber',  $img->productNumber) !!}</td>

и в контроллере я проверяю это в отношении службы, чтобы убедиться, что это действительные данные

if(!$productCheckService->validGroupCode($request->productNumber))
return back()->withErrors("Invalid group: ".$request->productNumber);

Это работает, если заполнено, но если поле пустое, я хочу обойти эту проверку. Другими словами, поле не является обязательным, поэтому проверка допустимости данных не должна требоваться для пустого / пустого поля.

Я делаю это ниже, но он все еще не работает, если он по какой-то причине пуст. Я что-то пропустил? Я думаю, что проверки того, что она не пуста до проверки, должно быть достаточно.

if(!empty($request->productNumber))
if(!$productCheckService->validGroupCode($request->productNumber))
return back()->withErrors("Invalid group: ".$request->productNumber);

0

Решение

Вы можете использовать атрибуты Laravel ‘иногда’, поэтому, если ваше поле отсутствует в массиве запросов, оно будет обходиться без проверки.

$v = Validator::make($data, [
'productNumber' => 'sometimes|required|number',

]);

0

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

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

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