Валидация Laravel проверяет только регулярное выражение, если поле не пустое - PullRequest
0 голосов
/ 25 апреля 2018

в моей форме есть поле youtube_url, его не требуется ..
, но если пользователь заполняет это поле, я должен подтвердить URL с помощью регулярного выражения.

'youtube_video' => [
    'regex:/(http:\/\/|https:\/\/|)(www.)?(youtu(be\.com|\.be))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/'
],

регулярное выражение работает хорошо, но его бросокошибка, если поле не заполнено (пусто).
как проверить только при заполнении пользователем поля.

1 Ответ

0 голосов
/ 25 апреля 2018

Вы должны использовать правило обнуляемости для него:

$this->validate($request, [
        'youtube_video' => [
            'regex:/(http:\/\/|https:\/\/|)(www.)?(youtu(be\.com|\.be))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/',
            'nullable'
        ],
    ]);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...