Я создал форму Django, выпадающую в одном из полей.Когда я попытался отправить форму, не выбрав элемент раскрывающегося списка, форма не была отправлена, потому что я указал в своем коде, что она не будет отправлена, если форма действительна с использованием is_valid()
.Тем не менее, он не показывает сообщение об ошибке проверки.В консоли браузера появляется сообщение об ошибке An invalid form control with name='start_position' is not focusable.
Я прочитал несколько вопросов по этому поводу, и они сказали, что это произошло из-за скрытого поля.После того, как я проверил элемент, верно, что div class = 'start_position' скрыто.Однако я не знаю, как это исправить в Django.
Это код, создающий выпадающее поле.
class LocationForm(forms.Form):
start_position = forms.ModelChoiceField(
required=True,
label="Start Position",
queryset=Location.objects.all()
)
Это обработанный HTML
<div class="formColumn form-group col-md-6 mb-0">
<div id="div_id_start_position" class="form-group">
<label for="id_start_position" class="col-form-label requiredField">
Start Position<span class="asteriskField">*</span>
</label> <div class="">
<select name="start_position" class="select form-control" required="" id="id_start_position" style="display: none;">
<option value="" selected="">---------</option>
<option value="78">Loc 78</option>
<option value="79">Loc 79</option>
<option value="80">Loc 80</option>
</select><div class="nice-select select form-control" tabindex="0">
<span class="current">Loc 78</span>
<ul class="list">
<li data-value="" class="option">---------</li>
<li data-value="78" class="option selected">Loc 78</li>
<li data-value="79" class="option">Loc 79</li>
<li data-value="80" class="option">Loc 80</li>
</ul></div>
</div>
</div>
Я хочу, чтобы сообщение проверки показывалось как в другом поле (я попытался DateField
, и проверка работает нормально).