Php 如何在Laravel 4.2中的required_if值中使用正则表达式
我有两个字段,分别是Php 如何在Laravel 4.2中的required_if值中使用正则表达式,php,regex,laravel,validation,laravel-4,Php,Regex,Laravel,Validation,Laravel 4,我有两个字段,分别是var1和var2。这两个字段都是我想要的文本字段。如果var2包含一个单词\uuu tocken\uu,则需要字段var1 我试过了,但没用 $validator = Validator::make( ['var1' => 'required_if:var2,regex:/__tocken_/'] //['var2' => ['required', 'regex:/__tocken_/']] //<--Regex is working fi
var1
和var2
。这两个字段都是我想要的文本字段。如果var2包含一个单词\uuu tocken\uu
,则需要字段var1
我试过了,但没用
$validator = Validator::make(
['var1' => 'required_if:var2,regex:/__tocken_/']
//['var2' => ['required', 'regex:/__tocken_/']] //<--Regex is working fine here
);
所以我的问题是,如果验证规则required\u中的regex可能不是准确的值吗
var2的样本可能值
- 你好
\uuuuu FIRST\uuu NAME\uuuuuuuuuuuuuuuu
,lorem ispam\uuuuuuuuuuuuuu tocken\Ur1vG6xK\uuuuuuuuu
- lorem ispam
\uuuuuuu tocken\u456vg6xk\uuuuu
lorem\uuuuuuuuuu tocken\u57kq6xk\uuuu
- lorem ispam。。诸如此类
查看:
$validator->sometimes('var2', 'required', function ($input) {
return (bool) preg_match('/__tocken_/', $input->var1);
});
也许你需要@BagusTesa:是的,我可以通过自定义验证来完成,但我一直在寻找更内置的方法。我认为你应该为var2
制定验证规则,例如:['var2'=>'有时| regex:/| tocken/| required| with:var1']
谢谢@revo;对于您的建议,var2
是完全可选的,只有当它具有上述模式时才需要var1
。因此,我向var1
添加了验证。此外,我无法提出您对工作的建议。因为这是可选的,所以您有时必须使用规则。如果它有一个值,那么它应该包含\uuu tocken\uu
,以使var1
也成为必填字段。谢谢你的回答,但我无法使它工作。
$validator->sometimes('var2', 'required', function ($input) {
return (bool) preg_match('/__tocken_/', $input->var1);
});