Любой конкретный флажок установлен в нескольких флажках, тогда в laravel требуется другое текстовое поле проверки - PullRequest
0 голосов
/ 23 апреля 2019

Любой конкретный флажок установлен в нескольких флажках, после чего в 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

1 Ответ

2 голосов
/ 25 апреля 2019

Во-первых, вам нужно определить правило при попытке ввода, например:

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

Затем вы должны определить определение вашего метода partRequired:

class customValidation extends Validator
{

    public function validatePartialRequired($attribute, $value, $parameters)
    {
        if(in_array('3',$this->data['control_4']) && empty($value))
        {
            return false;
        }
        return true;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...