【问题标题】:CheckBox Input Validation in DjangoDjango中的复选框输入验证
【发布时间】:2011-12-11 00:51:52
【问题描述】:

我想在我的注册字段中添加一个用于条款和使用的复选框。我如何编写一个干净的方法来验证这一点。

我已经编写了一个干净的方法,我想确保我正确地捕获了复选框值:

 def clean_terms(self):
         if self.cleaned_data["terms"] == u'on':
             raise forms.ValidationError(
                 "You have to accept terms&conditions to complete registration"
             )

结果,当我填写注册表并发布时,它给了我这个验证错误:

条款和条件:选择一个有效的选项。 on 不是可用的选项之一。

那么我如何理解一个复选框被选中以及如何正确实现一个术语&使用复选框?

我的复选框字段:

 terms = forms.ChoiceField(
     label="Terms&Conditions",
     widget=forms.CheckboxInput()
 )

【问题讨论】:

  • 也许您应该首先向我们展示您是如何定义复选框的?

标签: django validation checkbox


【解决方案1】:

不要将ChoiceField 用于单个复选框。使用BooleanField

terms = forms.BooleanField(
    error_messages={'required': 'You must accept the terms and conditions'},
    label="Terms&Conditions"
)

您甚至不需要clean_ 方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-08-11
    • 1970-01-01
    • 2017-11-23
    • 2011-08-03
    • 2015-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多