Я создал форму со следующими полями:
- Имя
- Электронная почта
- Страна
- Город
- Адрес
Если пользователь выбирает страну со штатами (например, США), то форма преобразуется в:
- Имя
- Электронная почта
- Страна
- Штат
- Город
- Адрес
Чтобы проверить это, я создал отдельный запрос формы, например:
public function rules()
{
return [
'name' => 'required|max:255',
'email' => 'required|email,
'country_id' => 'required|integer',
'state_id' => 'nullable|integer',
'city_id' => 'required|integer',
'address' => 'required',
];
}
Проблема в том, что если я оставлю это так, то, если я не выберу состояние, оно пройдет проверку.
Если я сделаю это:
'state_id' => 'sometimes|nullable|integer',
Затем он снова проходит проверку.
Если я сделаю это:
'state_id' => 'required|nullable|integer',
Он не пройдет проверку, но затем снова выдаст ошибку проверки, если в форме нет поля состояния..
Я прочитал много статей на эту тему, но, похоже, ничего не решило для меня.
PS1 : Я хочу решить это в форме запроса, а не в контроллере.Я предполагаю, что
if($request->has('states')){...}
может помочь, но опять же, я хотел бы сохранить все в порядке в запросе формы.
PS2 : я использую VueJSи Axios для добавления / удаления состояний из формы.Вся форма на самом деле является компонентом Vue.
Есть какие-нибудь подсказки?
Заранее спасибо!