【发布时间】:2017-01-25 16:07:14
【问题描述】:
我有一个如下定义的输入表单。
class ProfileForm(forms.ModelForm):
class Meta:
model = Profile
fields = ['first_name', 'last_name', 'language',
]
widgets = {
'language': forms.RadioSelect,
}
在我的models.py 中,我定义了以下内容:
first_name = models.CharField(max_length=250)
last_name = models.CharField(max_length=250)
LANGUAGE = (('AR', 'Arabic'), ('FR', 'French'), ('ES', 'Spanish'))
language = models.CharField(max_length=20, choices=LANGUAGE, blank=False, default=None)
first_name 和last_name 是必填字段,如果用户将这两个选项留空,则会提示警告消息。但是,我也希望 language 字段成为必填字段。为此,我设置了blank=False。如果您在没有选择language 选项的情况下提交表单是正确的,那么表单将无效。但是,它不会向用户发出警告。如何做到这一点?
【问题讨论】:
-
"为此,我设置了空白=False":这是任何字段的默认值,因此无需设置。也许删除
default=None,并为您的ModelForm 使用initial参数? -
是的,我试过了,但没有成功:(
-
向用户显示的验证警告是您需要在模板 HTML 中实现的内容。你做到了吗?
-
不,我没有这样做,对于 first_name,last_name 它会警告我必须做任何事情。我认为单选按钮选项也是可能的。