django:引发类似于EmailField

时间:2015-06-13 21:45:12

标签: django forms error-handling emailfield

使用电子邮件字段时,尝试提交包含无效电子邮件地址的表单会引发错误,如下所示:

enter image description here

我喜欢这个:

  • 不会重新加载页面,而是根本不提交而是显示错误

  • 外观

以下是我目前使用名称和密码(CharFields)完成的任务 enter image description here

“需要一个名字!”提交表单后,只显示“此字段是必填字段”的消息,即使没有提交表单,也不如显示那样光滑。

2 个答案:

答案 0 :(得分:1)

您在电子邮件中看到的弹出窗口不是django验证。它是在浏览器中进行的html5电子邮件字段检查(并且一些旧的浏览器不会为您执行此操作)。

并且您无法在html5中进行任何类型的验证,但是对于检查字段呈现,您可以将required属性添加到呈现的输入字段。

有几种方法可以在django中为小部件添加属性。看看How do I get Django forms to show the html required attribute?并选择适合您。

答案 1 :(得分:0)

kmmbvnr指导我找到我想要的东西。要添加我正在寻找的验证类型,请添加类似于以下内容的代码:

class UserForm(forms.ModelForm):

    ...

    username = forms.CharField(
        widget=forms.TextInput(attrs={'required': 'true'}),#HERE
    )
    password = forms.CharField(
        widget=forms.PasswordInput(attrs={'required': 'true'}),#OR HERE
    )

    ...