我有一段时间验证一个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')
我的测试用例返回无效。有人可以指出我做错了吗?
答案 0 :(得分:0)
初始数据不用于验证。您应该传递data
参数。
答案 1 :(得分:0)
如上所述in the Django documentation:
如果a,初始值不用作验证中的“后备”数据 没有给出特定字段的值。初始值只是 用于初始表格显示
您应该使用data
参数:
form = TheForm(data={'code': '123456'})