django:引发类似于 EmailField 的错误

django: raise an error similar to EmailField

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

我喜欢这个:

这是我目前可以使用名称和密码 (CharFields) 完成的工作

"A name is needed!"和"This field is required"消息是在提交表单后才显示的,不如不提交表单就显示的流畅。

您看到的电子邮件弹出窗口不是 Django 验证。它是内置浏览器 html5 电子邮件字段检查(一些旧浏览器不会为你做)。

并且您无法在 html5 中获得任何类型的验证,但是为了检查字段显示,您可以将 required 属性添加到呈现的输入字段。

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

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
    )

    ...