Django(1.3.1)电子邮件验证失败,因为有效的电子邮件地址如“xxx@xxx.education”

时间:2015-09-22 12:28:57

标签: python django validation email

最近出现了一项要求,即客户在注册用户时遇到问题。

在填写注册表单时,有填写电子邮件地址的字段。

此处用户的电子邮件地址为“ xyz@abc.education ”....输入其他详细信息并提交表单后,显示“请输入”有效的电子邮件地址“。

电子邮件地址完全有效,但django不允许继续使用。

可能的解决方案:

  • 转到并更新字段以存储Charfield而不是EmailField.But在我的情况下是不可能的。

  • 在django / code / validator.py中,我可以修改正则表达式检查以允许超过6个字符(目前支持{2,6})。但是,更改库代码不是一个好主意。

请建议。

1 个答案:

答案 0 :(得分:1)

我会扩展默认的EmailField并更改验证器。这样的事情可能有效(未经测试):

my_validate_email = django.core.validators.EmailValidator(whitelist=['abc.education'])

class MyEmailField(EmailField): 
    default_validators = [my_validate_email]

相关的源代码是EmailFieldEmailValidator