#laravel #validation #rules
Вопрос:
Я пытаюсь создать правило, если одно пустое или отсутствует, тогда требуется другое, но если оба отсутствуют, то это выдает ошибку. Я использовал это, но если оба поля пусты, то это не дает никакой ошибки
'inventory_storage_container_id' => 'required_if:inventory_storage_space_id,=,null|integer|exists:inventory_storage_containers,id',
'inventory_storage_space_id' => 'required_if:inventory_storage_container_id,=,null|integer|exists:inventory_storage_spaces,id',
Что я должен делать? Это другой сценарий, если я не включаю оба поля в тело запроса, это не выдает никакой ошибки, но мне нужна ошибка, если оба пусты. Этот раздел не дублируется .
Ответ №1:
попробуйте required_without
'inventory_storage_container_id' => 'required_without:inventory_storage_space_id|integer|exists:inventory_storage_containers,id',
'inventory_storage_space_id' => 'required_without:inventory_storage_container_id|integer|exists:inventory_storage_spaces,id',
Комментарии:
1. Тем не менее, оно передает правило, если оба поля отсутствуют в запросе. Я думаю, мне нужно обработать это на стороне контроллера, а не в правиле проверки.
2. @MajidJavaid Могу ли я увидеть контроллер?
3. Я спрашиваю, нет ли правила для этого, тогда мне нужно обработать его на стороне контроллера?
4. Ваш случай может быть обработан с помощью проверки Laravel, вам не нужно делать это на контроллере.
5. @MajidJavaid этот ответ правильный. Если это не работает для вас, то вы, должно быть, делаете что-то неправильно при отправке или проверке вашего ввода