Django - 如何在窗体中添加自定义错误消息?

问题描述:

如何在Django表单中添加自定义错误消息?Django - 如何在窗体中添加自定义错误消息?

例如,如果两封电子邮件不相同,我想在视图中添加新的错误消息。

首先,您必须定义一个以clean_ [您的字段名]开头的函数---例如:def clean_email。然后在你的函数中写入你的验证并分配一个错误名称,并在你的字段的error_messages中使用它。

class ValidationForm(forms.Form): 
    email = forms.EmailField(label = 'Email', error_messages = {'invalid': 'Your Email Confirmation Not Equal With Your Email'}) 
    email_confirmation = forms.EmailField(label = 'Email Confirmation') 

    def clean_email(self): 
     if email != email_confirmation: 
      raise ValidationError(self.fields['email'].error_messages['invalid']) 
     return email  
+2

请注意,您需要使用清洁的字典,在这种情况下self.cleaned_data [“电子邮件”],来获取用户的值(https://docs.djangoproject.com/en/dev/ref/forms/validation /#cleaning-a-specific-field-attribute) – Chris

+0

我想你应该说你应该定义一个'方法'而不是'函数'。谢谢,不过。 – polarise