有没有办法在Django 1.7中覆盖MinLengthValidator错误消息?

时间:2014-10-10 11:49:57

标签: django

我正在使用文本框从用户那里获取手机号码。

models.py

mobile = models.CharField(max_length=14, validators=[MinLengthValidator(10)])

默认错误消息如下所示:

Ensure this value has at least 10 characters (it has 2).

如何覆盖错误消息?

2 个答案:

答案 0 :(得分:1)

Django有addedmessage参数,所以将来你可以说validators=[MinLengthValidator(10, message='My message')]

现在,最简单的事情可能只是实例化类并设置消息属性。

my_validator = MinLengthValidator(10)
my_validator.message = 'My message'

如果您不喜欢依赖未记录的代码,那么只需自己编写验证器,它只会是几行。

答案 1 :(得分:0)

是的,删除验证器并编写自己的验证器。您可以overriding your form's clean method完成此操作。

def clean(self):
    cleaned_data = super(YourForm, self).clean()
    mobile = cleaned_data.get("mobile")

    if len(mobile) < 10:
        raise forms.ValidationError("Your message here.")