Laravel 验证仅在字段不为空时验证正则表达式

Put*_*din 3 regex validation laravel laravel-5

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

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

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

Pav*_*vel 5

你应该为它使用空规则

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