当前位置:  开发笔记 > 编程语言 > 正文

Django - 更改字段验证消息

如何解决《Django-更改字段验证消息》经验,为你挑选了1个好方法。

我的新闻稿表单中有一个电子邮件字段,如下所示:

class NewsletterForm(forms.ModelForm):

    email = forms.EmailField(widget=forms.EmailInput(attrs={
        'autocomplete': 'off',
        'class': 'form-control',
        'placeholder': _('seuemail@email.com'),
        'required': 'required'
    }))

    class Meta:
        model = Newsletter
        fields = ['email', ]

我的表单正在运行,但是当我输入"ahasudah @ ahs"没有域名的DOT时,我收到此错误"输入有效的电子邮件地址"

这是哪里?

我刚刚检查了原始源代码,但我找不到像其他字段一样覆盖的错误消息.

https://github.com/django/django/blob/master/django/forms/fields.py#L523

任何想法如何覆盖此消息?



1> DhiaTN..:

实际上,您可以在两个不同的级别以两种不同的方式执行此操作:

    您可以在表单验证级别执行此操作:

class NewsletterForm(forms.ModelForm):

    email = forms.EmailField(
      widget=forms.EmailInput(attrs={
        'autocomplete': 'off',
        'class': 'form-control',
        'placeholder': _('seuemail@email.com'),
        'required': 'required'
      }),
      error_messages={'invalid': 'your custom error message'}
    )

    class Meta:
        model = Newsletter
        fields = ['email', ]

    在模型级别的第二种方法:

2.1。您可以按照以下形式进行操作:

    email = models.EmailField(error_messages={'invalid':"you custom error message"})

2.2。或者您使用django 内置的验证器:

   from django.core.validators import EmailValidator

   email = models.EmailField(validators=[EmailValidator(message="your custom message")]) # in you model class

推荐阅读
我我檬檬我我186
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有