2013-03-18 87 views
1

我想执行一个字段校验,但条件是在表单字段中的Django字母数字验证

1)字段应该有10个字符。

2)关闭这些第一次5个字符应该是字母和未来5字应该是个数字

我进行验证的最大长度检查,但对其他事情如何perform.Is可以在完成单个“如果”条件。

我正在寻找谷歌执行该逻辑,但没有得到任何idea.Can任何人都可以帮助我执行相同的。

forms.py的长度检查

def clean_bookref(self): 
     cd=self.cleaned_data 
     bookref=cd.get('bookref') 

     if len(bookref)<10 and re.match(r'[A-z0-9]+', bookref): 
      raise forms.ValidationError("Should be 10 digits") 

     return bookref 

我使用此代码做的,但它不工作。

感谢

回答

2

也许你可以使用像他:

def clean_bookref(self): 
    cd=self.cleaned_data 
    bookref=cd.get('bookref') 

    if not re.match(r'^[A-Za-z]{5}[0-9]{5}$',bookref) : 
     raise forms.ValidationError("Should be of the form abcde12345") 

    return bookref