Django - 如何在表单字段中添加验证器(而不是设置它)

时间:2016-09-10 19:10:30

标签: django forms python-3.x

在Django中,您可以通过

指定给定表单字段的验证器
def SomeForm(forms.Form):
    field_1 = forms.CharField()
    field_2 = forms.CharField(validators=[...])

但是,如果我只想添加一个验证器怎么办? (而不是替换所有潜在的固有/继承验证器?

1 个答案:

答案 0 :(得分:1)

从源代码(https://github.com/django/django/blob/stable/1.10.x/django/db/models/fields/init.py)可以看出,没有为CharField设置default_validators,在创建时只添加了MaxLengthValidator,因此您可以随意设置自己的验证器。

顺便说一下,如果你检查这一行(https://github.com/django/django/blob/stable/1.10.x/django/db/models/fields/init.py#L535),你会看到在创建验证器上附加了默认验证器。