Django - Ошибка валидации формы не отображается на булевом поле
Не знаю почему, но в приведенном ниже коде не появляется ошибка валидации формы.
Форма (при выполнении условия ошибки) не сохраняется (что нормально), но на форме нет сообщения о валидации?
FORM
def clean_p45_boolean(self):
p45_boolean = self.cleaned_data['p45_boolean']
if p45_boolean == False:
raise forms.ValidationError(_("Please attach your latest P45."))
return p45_boolean
ШАБЛОН
Я включил как ошибки, так и неполевые ошибки
<!-- Error -->
<div class="field">
{% for error in employment_employee_form.p45_boolean.errors %}
<p class="help is-danger">
{{error}}
</p>
{% endfor %}
</div>
<!-- Non Field Errors -->
<div class="field">
{% if employment_employee_form.non_field_errors %}
<p class="help is-danger">
{{employment_employee_form.non_field_errors}}
</p>
{% endif %}
</div>
МОДЕЛЬ
# U.K. EMPLOYEE PAYE MODEL
class UK_Employee_PAYE(models.Model):
p45_boolean = models.BooleanField(verbose_name='Do not have a P45?', blank=False, default=False)
Используйте required=True в булевом поле формы Django. Django проверяет, что значение равно True (например, флажок установлен), если поле имеет required=True. Reference
p45_boolean = models.BooleanField(verbose_name='Do not have a P45?', blank=False, required=True)