フォーム コンストラクター内でフィールドの *min_length* 引数を変更する方法はありますか? それはうまくいきません:
def __init__(self, *args, **kwargs):
super(CreateTeamForm, self).__init__(*args, **kwargs)
self.fields['primary_color'].min_length = 4
フォーム コンストラクター内でフィールドの *min_length* 引数を変更する方法はありますか? それはうまくいきません:
def __init__(self, *args, **kwargs):
super(CreateTeamForm, self).__init__(*args, **kwargs)
self.fields['primary_color'].min_length = 4
メソッドでフィールドのvalidators
属性を設定してみてください。__init__
from django.core.validators import MinLengthValidator
class MyForm(forms.Form):
primary_color = forms.CharField()
def __init__(self, *args, **kwargs):
super(MyForm, self).__init__(*args, **kwargs)
# get all the validators on the field which are not MinLengthValidator
validators = [v for v in self.fields['primary_color'].validators if not isinstance(v, MinLengthValidator)]
min_length = 10
validators.append(MinLengthValidator(min_length))
self.fields['primary_color'].validators = validators