【问题标题】:Laravel Validation Only Validate Regex if Field Not EmptyLaravel 验证仅在字段不为空时验证正则表达式
【发布时间】:2018-10-06 04:18:12
【问题描述】:

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

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

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

【问题讨论】:

标签: regex laravel validation laravel-5


【解决方案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'
        ],
    ]);

【讨论】:

  • "nullable" 验证规则正是我想要的,谢谢!
猜你喜欢
  • 1970-01-01
  • 2021-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-12-30
  • 2019-02-11
  • 1970-01-01
  • 2018-12-11
相关资源
最近更新 更多