Django Неверный элемент управления формы с именем = '' не может быть сфокусирован - PullRequest
0 голосов
/ 27 апреля 2019

Я создал форму 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, и проверка работает нормально).

...