【问题标题】:django: raise an error similar to EmailFielddjango:引发类似于 EmailField 的错误
【发布时间】:2015-08-29 16:34:18
【问题描述】:

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

我喜欢这个:

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

  • 外观

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

“需要一个名字!”并且“此字段为必填项”消息仅在表单提交后显示,这不像无需提交表单即可显示那样流畅。

【问题讨论】:

    标签: django forms error-handling emailfield


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      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
          )
      
          ...
      

      【讨论】:

        猜你喜欢
        • 2013-02-08
        • 2015-01-18
        • 1970-01-01
        • 2015-06-17
        • 2011-08-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多