29

使用 Laravel 框架,我需要根据一组有效值检查提交字段的值。

问题是 Laravel 使用 | 用于分隔属于字段的验证规则的字符。

这不起作用它会抛出一个

“preg_match:没有找到结束分隔符'/'”:

'my_field' => 'match:/^(value1|value2|different value|yet another)$/'

如果角色没有帮助|,在这种情况下如何逃脱角色?\

4

2 回答 2

43

本质上,答案是,如果您像尝试那样在一个字符串中指定所有规则,则不能使用管道。m.buettner 提到的拉取请求已关闭。但是,Tayler Otwell 提到了您可以使用的另一种方法:在数组中指定规则。这方面的一个例子是:

$rules = array(
    'field' => array('size:5', 'match:/foo|bar/')
);
于 2012-10-13T17:52:33.043 回答
0

使用 array() 后,正则表达式模式需要用 /.../ 括起来,以避免preg_match(): Unknown modifier '|' 错误

于 2019-07-24T08:25:08.700 回答