如果字段不为空,则Laravel验证仅验证正则表达式

时间:2018-04-25 15:51:04

标签: regex laravel validation laravel-5

我的表单有youtube_url字段,不需要..
但如果用户填写此字段,我必须使用正则表达式验证网址。

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

正则表达式运行良好,但如果字段未填充(空)则抛出错误 如何在用户填写字段时进行验证。

1 个答案:

答案 0 :(得分:1)

你应该使用nullable rule

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