Laravel, проверка условия, если запрос не нулевой - PullRequest
0 голосов
/ 08 ноября 2018

У меня есть форма в 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);

1 Ответ

0 голосов
/ 08 ноября 2018

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

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

]);

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...