Валидация Laravel из 2 полей: первое - это указатель даты, а второе - выбрано - PullRequest
0 голосов
/ 19 марта 2019

В моей форме много полей.2 из них должны быть связаны друг с другом.

Первое поле выбора даты, а второе поле выбора (заполнено функцией выбранной даты).

<input class="form-control pull-right" name="day_desired" id="day_desired" placeholder="Day Desired" type="text" value="{{ old('day_desired') }}">
<select id="hour_id" name="hour_id" class="form-control">
   <option value="0">--- Choose hour ---</option>
   <option value="10:00">10h00</option>
   ...
</select>

Итак, я хочу сделать это:

  • Если дата не выбрана, эти 2 поля являются необязательными.
  • Если выбрана дата, поле выбора является обязательным и не равно 0 (0 - первое значение параметрови я использую его как ярлык).

У меня было много тестов с required_if, required_unless безуспешно ....

return [
            'name'=>'required',
            'first_name' =>'required',
            ...

            'day_desired' =>'nullable',
            'hour_id' =>'nullable'
        ];

Большое спасибо

1 Ответ

1 голос
/ 19 марта 2019

Проверки required_if и required_unless будут искать определенное условие для значения другого поля. Это не то, что вам нужно здесь.

Вы можете использовать required_with:

'day_desired' =>'nullable',
'hour_id' =>'required_with:day_desired|nullable|min:1'

Причина, по которой hour_id должно быть nullable, заключается в том, что вы не хотите, чтобы проверка min:1 выполнялась, когда day_desired и hour_id пусты. Тем не менее, правило required_with не будет выполнено, даже если это поле можно обнулять, как указано в в этом посте на GitHub . Это поведение было добавлено в этом выпуске: https://github.com/laravel/framework/releases/tag/v5.4.16.

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