如何自定义表单验证消息

时间:2011-11-14 18:30:38

标签: django forms validation messages

我目前正在使用django.contrib.auth中的表单来更改用户密码,但我想在不编辑django / contrib / auth / forms.py文件的情况下自定义验证消息

有人有任何指示?会帮助我很多!

1 个答案:

答案 0 :(得分:2)

(根据评论更新 - 相同的原则仍然适用:子类表格和覆盖。)

对表单进行子类化并覆盖特定字段的clean方法:

from django import forms
from django.contrib.auth.forms import PasswordChangeForm

class MyPasswordChangeForm(PasswordChangeForm):
    def clean_old_password(self):
        try:
            return super(MyPasswordChangeForm, self).clean_old_password():
        except forms.ValidationError:
            raise forms.ValidationError("Booh, the password was not correct!")

...然后在您的视图中使用MyPasswordChangeForm代替PasswordChangeForm。