Как иметь необязательные правила проверки в Laravel? - PullRequest
2 голосов
/ 01 июля 2019

Я пытаюсь сделать некоторые проверки формы в Laravel 5.8,

Но даже на полях, в которых нет правила required, выдается ошибка ...

например:

request()->validate([
    'username' => ['required','alpha_num','max:40'],
    'email'   => ['email','max:100'],
]);

Если я оставлю поле email пустым (оно не обязательно) в форме, оно не будет отправлено и отобразит эту ошибку: The email must be a valid email address.

Я не понимаю, почему это происходит? и каково использование правила required, когда это поведение проверки Laravel?

Исходя из сообщества CodeIgniter, это сбивает с толку.

Должен ли я также включить правило nullable в поля, которые могут быть пустыми?

1 Ответ

4 голосов
/ 01 июля 2019

Да, вы должны включить nullable в поля, которые могут быть пустыми.

Это то, что я нашел немного хитрым, когда я впервые использовал Symphony (на котором основан Laravel).Если вы добавляете правило проверки в поле, правило проверки не допускает значение null, если поле также не помечено как nullable.

Причина, по которой вы получаете сообщение об ошибке, заключается в том, чтовы заставляете поле email проходить правила проверки email - что, конечно, не происходит, если оставить пустым.

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