如何在Laravel 4.2中的required_if值中使用正则表达式

时间:2017-05-12 08:45:19

标签: php regex laravel validation laravel-4

我有2个字段说var1var2。如果var2包含单词__tocken_,那么两个文本字段都是我想要的,然后需要字段var1

我尝试了这个,但它没有用,

$validator = Validator::make(
    ['var1' => 'required_if:var2,regex:/__tocken_/']
    //['var2' => ['required', 'regex:/__tocken_/']] //<--Regex is working fine here
);

所以我现在正在做的事情我正在设置第三个变量var3并在表单上提交我正在进行JS验证,如果var2包含一个单词模式__tocken_然后我将var3设置为 1 ,否则 0 。验证规则是

$validator = Validator::make(
    ['var1' => 'required_if:var3,1'] //working fine
);

所以我的问题是required_if验证规则中可能有正则表达式不是确切的值吗?

示例var2

的可能值
  • __FIRST_NAME__,lorem ispam __tocken_Ur1vG6xK__
  • lorem ispam __tocken_456vG6xK__ lorem __tocken_T57kq6xK__
  • lorem ispam .. 等等

1 个答案:

答案 0 :(得分:0)

检查出来:

$validator->sometimes('var2', 'required', function ($input) {
    return (bool) preg_match('/__tocken_/', $input->var1);
});