Arl*_*ind 0 php regex laravel laravel-validation
我在Laravel 4.2上玩耍.我试图使用验证器来验证带有正则表达式的名称字段,这是我的规则如下:
public static $rules_save = [
'name' => 'required|regex:/[XI0-9/]+/|unique:classes'
];
Run Code Online (Sandbox Code Playgroud)
但是一旦我调用规则进行验证就会抛出错误,请参见下文:
preg_match(): Unknown modifier ']'
Run Code Online (Sandbox Code Playgroud)
在以下位置:
protected function validateRegex($attribute, $value, $parameters)
{
$this->requireParameterCount(1, $parameters, 'regex');
return preg_match($parameters[0], $value); // **ON THIS LINE**
}
Run Code Online (Sandbox Code Playgroud)
由于你需要/在字符类中包含一个,你需要先解决它:
'name' => 'required|regex:/[XI0-9\/]+/|unique:classes'
^
Run Code Online (Sandbox Code Playgroud)
或者使用其他正则表达式分隔符.
使用PCRE功能时,需要使用分隔符包围模式.分隔符可以是任何非字母数字,非反斜杠,非空白字符.
经常使用的分隔符是正斜杠(
/),哈希符号(#)和波浪号(~).