0

私は6桁の数字を検証するのにかなりの時間を費やしています:

# forms.py
class TheForm(forms.Form):
    code = forms.RegexField(regex=r'^\d{6}$')

# tests.py
class TheFormTestCase(TestCase):
    def test_the_form(self):
        form = TheForm(initial={'code': '123456'})
        self.assertTrue(form.is_valid(),
            'Form should accept a string of 6 characters '
            'that are digits')

私のテスト ケースは無効を返します。誰かが私が間違っていることを指摘できますか?

4

2 に答える 2

0

Djangoのドキュメントに記載されているように:

特定のフィールドの値が指定されていない場合、初期値は検証で「フォールバック」データとして使用されません。初期値は初期フォーム表示のみを目的としています

data引数を使用する必要があります:

form = TheForm(data={'code': '123456'})
于 2013-01-19T19:22:18.870 に答える
0

初期データは検証には使用されません。パラメータを渡す必要がありdataます。

于 2013-01-19T19:20:47.053 に答える