我正在使用文本框从用户获取手机号码。有没有办法在Django 1.7中重写MinLengthValidator错误消息?
models.py
mobile = models.CharField(max_length=14, validators=[MinLengthValidator(10)])
默认的错误信息是这样的:
Ensure this value has at least 10 characters (it has 2).
我如何可以覆盖错误消息?
我正在使用文本框从用户获取手机号码。有没有办法在Django 1.7中重写MinLengthValidator错误消息?
models.py
mobile = models.CharField(max_length=14, validators=[MinLengthValidator(10)])
默认的错误信息是这样的:
Ensure this value has at least 10 characters (it has 2).
我如何可以覆盖错误消息?
是的,通过删除验证器并编写自己的。你可以通过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.")
的Django有added一个message
参数,所以在未来,你就可以说validators=[MinLengthValidator(10, message='My message')]
。
现在,最简单的事情可能就是实例化类并设置消息属性。
my_validator = MinLengthValidator(10)
my_validator.message = 'My message'
如果你不喜欢依赖未公开的代码,那么只需自己写验证器,它只会是几行。