在多个复选框中选中任何特定的复选框,然后在laravel中需要其他验证文本字段

时间:2019-04-23 20:53:57

标签: laravel-5.5

在多个复选框中选中任何特定的复选框,然后在Laravel中需要另一个验证文本字段。

我有多个复选框

<label class="checkbox-inline" for="item_1">
<input name="control_4[]" id="item_1" value="1" type="checkbox"> A
</label>
<label class="checkbox-inline" for="item_2">
<input name="control_4[]" id="item_2" value="2" type="checkbox"> B
</label>
<label class="checkbox-inline" for="item_3">
<input name="control_4[]" id="item_3" value="3" type="checkbox"> C
</label> 

<input type="text" name="try">

如果我选择item_2和3,那么如果control_4数组中存在item 3,则输入框要求在输入框中不进行验证。

$this->validate($request, [
'control_4' => 'required',
'try' => 'required'
]);

如何在Laravel 5.5中进行验证

1 个答案:

答案 0 :(得分:2)

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

$this->validate($request, [
'control_4' => 'required',
'try' => 'partialRequired'
]);

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

class customValidation extends Validator
{

    public function validatePartialRequired($attribute, $value, $parameters)
    {
        if(in_array('3',$this->data['control_4']) && empty($value))
        {
            return false;
        }
        return true;
    }
}