2013-03-18 2 views
1

나는 필드 유효성 검사를 수행하기를 원하지만 조건이 필드는 10 문자가 있어야합니다) 장고 알파 숫자 검증

1

이다. 이러한 1 차 5 문자 오프

2 )는 알파벳해야하며, 향후 5 문자는에서 수행 할 수있는 방법에 perform.Is 자리 숫자

나는, 최대 길이 확인에 대한 검증을 수행하지만, 일의 나머지해야한다 단일 "if"조건.

나는 로직을 검색하기 위해 Google에서 검색하고 있지만 아이디어를 얻지 못했습니다. 어떤 사람도 나를 수행하는 데 도움이 될 수 있습니다. 길이

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