【发布时间】:2013-04-08 00:33:37
【问题描述】:
我在表单中有一个字段“电话”,是用 ModelForm 创建的。我想验证这个字段。这是models.py中的代码:
class UserProfile(models.Model):
user = models.ForeignKey(User, unique=True)
phone = models.CharField(max_length=20, validators=[validate_phone])
forms.py:
class UserProfileResetForm(ModelForm):
class Meta:
model = UserProfile
exclude = ('user')
到目前为止,我发现有几种方法可以验证从 django 中的 ModelForm 创建的表单。我至少看到其中 3 个: 1.将UserProfileResetForm中的电话覆盖为RegexField 2.使用验证器(就像我现在做的那样) 3.在UserProfileResetForm中创建clean_phone方法
所以我有点困惑......最好的方法是什么?
【问题讨论】:
-
我个人会推荐验证器方法,因为 django 遵循该方法来验证字段。如果您仅支持任何特定国家/地区,则可以使用 docs.djangoproject.com/en/1.3/ref/contrib/localflavor - localflavor 等。
标签: python regex django validation modelform