1

フィールドバリデーションを行いたいのですが、条件が

1) フィールドには 10 文字が必要です。

2) これらの最初の 5 文字はアルファベットで、次の 5 文字は数字でなければなりません

最大長チェックのバリデーションを行いましたが、あとはどのように実行するかです。

私はそれを実行するためにグーグルでロジックを探していますが、何の考えもありません.誰かが同じことを実行するのを手伝ってくれますか.

長さチェック用の 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

このコードを使用して実行していますが、機能していません。

ありがとう

4

1 に答える 1

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
于 2013-03-18T08:49:43.057 に答える