【发布时间】:2014-05-22 10:46:54
【问题描述】:
使用正则表达式验证输入可以是用户或管理员,并且需要填写其中之一:
'user_type' => 'regex:/^\buser\b|\badmin\b$/|required'
【问题讨论】:
-
你有什么问题?
-
正则表达式不是验证。
标签: php regex validation laravel laravel-4
使用正则表达式验证输入可以是用户或管理员,并且需要填写其中之一:
'user_type' => 'regex:/^\buser\b|\badmin\b$/|required'
【问题讨论】:
标签: php regex validation laravel laravel-4
假设语法是正确的,你的正则表达式有一个明确的错误:字符串开始锚^仅针对user进行测试,字符串结尾锚仅针对@987654324进行测试@。如果你有这些,你就不需要词边界锚。
试试这个:
'user_type' => array('regex:/^user$|^admin$/')
【讨论】:
^$ 是完全不必要的,因为框架强制正则表达式匹配整个输入,否则原始正则表达式将匹配输入字符串"user name" 中的user,所以正则表达式确实不同。
|required 部分是错误的。可以试试修改后的版本吗?
| 运算符似乎使 Laravel 解析器感到困惑。详情:stackoverflow.com/questions/12875334/….