Laravel模式验证管道字符问题

Wab*_*son 26 regex validation laravel

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

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

这并不能正常工作,它抛出一个"的preg_match:没有结束符'/’发现":

'my_field' => 'match:/^(value1|value2|different value|yet another)$/'
Run Code Online (Sandbox Code Playgroud)

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

Ben*_*nRH 41

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

$rules = array(
    'field' => array('size:5', 'match:/foo|bar/')
);
Run Code Online (Sandbox Code Playgroud)

  • 优秀!我不知道这种替代方法对我来说比用长串摸索要好得多. (3认同)