根据Laravel 5.5中的Checkbox检查进行验证调用

时间:2019-05-01 09:19:10

标签: laravel-5.5

我有一个复选框和两个输入字段,如果我选中此复选框,则需要第二个(b)输入框,否则需要中的第一个(a)输入框。

<input type="checkbox" name="try" id="try" value="on">

<input type="text" name="a" id="a">
<input type="text" name="b" id="b">



$validator = Validator::make($request->all(), [
    'a' => 'nullable|required_if:try,off',
    'b' => 'nullable|required_if:try,on'
]);

尝试但不成功。请帮忙。编辑[required_if中的错字]

1 个答案:

答案 0 :(得分:1)

首先,您需要在try输入上定义规则,例如:

 $this->validate($request, [
    'a' => 'partialARequired',
    'b' => 'partialBRequired'
 ]);

然后,您必须定义您的partialRequired方法的定义:

class customValidation extends Validator
{

    public function validatePartialARequired($attribute, $value, $parameters)
    {
        if(!in_array('try',$this->data) && empty($value))
        {
            return false;
        }
        return true;
    }

    public function validatePartialBRequired($attribute, $value, $parameters)
    {
        if(in_array('try',$this->data) && empty($value))
        {
            return false;
        }
        return true;
    }
}