我正在Laravel 4.2上工作。我正在尝试使用Validator通过正则表达式来验证名称字段,这是我的以下规则:
public static $rules_save = [ 'class_subjects' => 'required|regex:/[0-9]([0-9]|-(?!-))+/' ];
但是,一旦我调用要验证的规则,就会引发错误,请参见下文:
preg_match(): No ending delimiter '/' found
由于您的正则表达式中包含管道,因此必须使用数组:
public static $rules_save = [ 'class_subjects' => ['required', 'regex:/[0-9]([0-9]|-(?!-))+/'], ];
从文档:
使用regex模式时,可能需要在数组中指定规则而不是使用管道定界符,尤其是在正则表达式包含管道字符的情况下。
regex