Laravel 请求验证正则表达式,不需要

Posted

技术标签:

【中文标题】Laravel 请求验证正则表达式,不需要【英文标题】:Laravel Request Validation Regex without Required 【发布时间】:2018-04-18 21:24:09 【问题描述】:

我在请求验证方面遇到问题。一切正常,但只有一种模式。如果我不希望该字段是必需的,但一旦填写,我希望它与正则表达式匹配。

但是当我将该字段留空时,它会引发正则表达式错误。

关于我应该如何处理它的任何提示? 顺便说一句:我创建了一个自定义请求类,我负责验证,所以如果解决方案也可以在请求中而不是直接在控制器中,那就太好了。

return [
    'dic' => 'max:12|regex:/^[a-zA-Z]2[0-9]8[0-9]*$/',
];

【问题讨论】:

你可以让模式匹配一​​个空字符串regex:/^(?:[a-zA-Z]2[0-9]8[0-9]*)?$/ 【参考方案1】:
return [
    'dic' => 'nullable|max:12|regex:/^[a-zA-Z]2[0-9]8[0-9]*$/',
];

nullable 字段为空时不会检查其他规则。

【讨论】:

我试图为您的答案投票,但它说“感谢您的反馈!声望低于 15 的人的投票会被记录下来,但不要更改公开显示的帖子得分。”对不起:/

以上是关于Laravel 请求验证正则表达式,不需要的主要内容,如果未能解决你的问题,请参考以下文章

laravel 正则表达式验证不起作用

Laravel 正则表达式验证错误

Laravel - 使用正则表达式仅验证字母、数字和空格

Laravel 验证正则表达式,视图中断

工作正则表达式在 laravel 验证中不起作用

Laravel 中正则表达式规则的自定义验证消息?