我正在使用文本框从用户那里获取手机号码。
models.py
mobile = models.CharField(max_length=14, validators=[MinLengthValidator(10)])
默认错误消息如下所示:
Ensure this value has at least 10 characters (it has 2).
如何覆盖错误消息?
答案 0 :(得分:1)
Django有added个message
参数,所以将来你可以说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.")