#django #validation #checkbox
#django #проверка #флажок
Вопрос:
Я хочу добавить флажок в мое поле регистрации для терминов и использования. Как я могу написать чистый метод для проверки этого.
Я написал чистый метод, в котором я хочу быть уверенным, что я правильно улавливаю значение флажка:
def clean_terms(self):
if self.cleaned_data["terms"] == u'on':
raise forms.ValidationError(
"You have to accept termsamp;conditions to complete registration"
)
В результате, когда я заполняю свою регистрационную форму и отправляю ее, она выдает мне эту ошибку проверки :
Правила и условия: выберите правильный выбор. вкл. не является одним из доступных вариантов.
Итак, как я могу понять, что флажок установлен, и как правильно реализовать флажок «Термин и использование»?
Мое поле флажка :
terms = forms.ChoiceField(
label="Termsamp;Conditions",
widget=forms.CheckboxInput()
)
Комментарии:
1. Может быть, вам следует показать нам, как вы определяете флажок в первую очередь?
Ответ №1:
Не используйте a ChoiceField
для одного флажка. Используйте BooleanField
.
terms = forms.BooleanField(
error_messages={'required': 'You must accept the terms and conditions'},
label="Termsamp;Conditions"
)
Вам даже не нужен clean_
метод.