У меня есть список флажков, например,
[] Tomatoes
[] Cucumbers
[] Pumpkins
[] Other
Когда вы проверяете Other
, появляется текстовое поле. Это сохраняется в одном столбце vegetables
как строка JSON.
FormRequest.php
public function rules()
{
return [
'vegetable' => 'required'
]
}
form.html
<legend class="@error('diagnose') text-red-500 : text-gray-900 @enderror">
Did you get any of the following diagnoses last week? *
</legend>
<form action="" method="post">
<input name="vegetable[]" type="checkbox" value="Tomatoes">Tomatoes</input>
<input name="vegetable[]" type="checkbox" value="Cucumbers">Cucumbers</input>
<input name="vegetable[]" type="checkbox" value="Pumpkins">Pumpkins</input>
<input name="vegetable[]" type="checkbox" value="Other">Other</input>
<input name="???" type="text"></input>
</form>
Идея состоит в том, чтобы это последнее поле было названо таким образом, поэтому легко:
- Показать ошибки проверки, в идеале без необходимости проверки двух полей (например,
vegetable
и vegetable_other
) - Добавить его значение в JSON без лишних
if
с .
Как это можно сделать в Laravel без создания стены кода?