Как потребовать поле, если в laravel установлен определенный флажок? - PullRequest
0 голосов
/ 15 февраля 2020

Я новичок в Laravel, у меня есть три флажка: WhatsApp, E-mail и SMS

Что я хочу сделать sh в моей проверке CustomerRequest, это требовать поле электронной почты, если флажок для электронная почта проверена:

Ниже приведен пример моих правил:

public function rules()
    {
        return [
            'choix' => 'required',
            'tel' => 'required|max:25',
            'contract' => 'required|numeric|max:9',
            'nom' => 'required|max:255',
            'email' => 'required|max:50',
            'language' => 'required|max:2',
            'g-recaptcha-response' => 'required|captcha',
            'conditionAccepted' => 'accepted',
        ];
    }

Ниже находится поле моего флажка:

 <div class="form-group row">
                    <div class="col-md-12 " style="text-align : left; margin-left:20px;" ><label class="checkbox-inline check"> <input type="checkbox" class="checkbox" name="choix[]" value="WHA">
                            <span style="margin-top:10px; margin-left:20px; position: absolute;">WhatsApp</span></label></div>
                    <div class="col-md-12 " style="text-align : left; margin-left:20px;" ><label class="checkbox-inline check"> <input type="checkbox" class="checkbox" name="choix[]" value="SMS">
                            <span style="margin-top:10px; margin-left:20px; position: absolute;">SMS</span></label></div>
                    <div class="col-md-12 " style="text-align : left; margin-left:20px;" ><label class="checkbox-inline check"> <input type="checkbox" class="checkbox" name="choix[]" value="MAIL">
                            <span style="margin-top:10px; margin-left:20px; position: absolute;">Email</span></label></div>

                </div>

Оцените руководство

Ответы [ 2 ]

0 голосов
/ 17 февраля 2020

Мне удалось решить проблему с помощью следующего кода:

'choix.*' => 'in:WHA,SMS,MAIL',
'tel' => 'required|max:25',
'contract' => 'required|digits:9|exists:accounts,sic_code',
'nom' => 'required|max:255',
'email' => 'required_if:choix.MAIL,==,MAIL|nullable|email|max:50',
'language' => 'required|max:2',
'g-recaptcha-response' => 'required|captcha',
'conditionAccepted' => 'accepted',
0 голосов
/ 15 февраля 2020

Вы можете использовать required_with правило проверки. Проверьте весь список в документации, есть много полезных правил проверки https://laravel.com/docs/5.8/validation#rule -required-разве что

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...