我的表单有youtube_url字段,不需要..
但如果用户填写此字段,我必须使用正则表达式验证网址。
'youtube_video' => [
'regex:/(http:\/\/|https:\/\/|)(www.)?(youtu(be\.com|\.be))\/(video\/|embed\/|watch\?v=|v\/)?([A-Za-z0-9._%-]*)(\&\S+)?/'
],
正则表达式运行良好,但如果字段未填充(空)则抛出错误 如何在用户填写字段时进行验证。
答案 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'
],
]);