首页 > 解决方案 > 在多个复选框中选中任何特定的复选框,然后在 laravel 中需要其他验证文本字段

问题描述

在多个复选框中选中任何特定的复选框,然后在 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,那么如果 item 3 存在于 control_4 数组中,则输入框需要否则不在输入框中进行验证。

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

如何在 Laravel 5.5 中进行验证

标签: laravel-5.5

解决方案


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

$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;
    }
}

推荐阅读