class NumberForm(BaseForm):
querynumber = forms.CharField(error_messages={'required':u'请输入手机号'})
def clean_querynumber(self):
number = self.cleaned_data.get('querynumber')
re_number = r'^1(3|5|7|8)[0-9]{9}$'
if len(number) >11 or len(number)<11 :
raise forms.ValidationError(u'手机号码长度为11位')
if not re.match(re_number,number):
raise forms.ValidationError(u'请输入合法手机号')
return number
- 在上面的代码中,如果自定义了forms.CharField(min_length=11,max_length=11)的话,若输入长度不为11位时,会抛出默认的异常提示。
- 若想自定义输入数据的长度提示,那么就需要取消设置的长度属性,才能执行def clean()方法中自定义的长度提示。 3.重点,在自定义验证数据时,一定要return,否则views是拿不到数据