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

问题描述 投票:0回答:1

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

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

如何在Laravel 5.5中进行验证

laravel-5.5
1个回答
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;
    }
}
© www.soinside.com 2019 - 2024. All rights reserved.