django form max_length不起作用
我正在使用django 1.8.7。我注意到表单的最大长度不起作用。对于以下代码,即使设置了max_长度并且密码长度超过50,表单也会进行验证。尽管最小长度验证工作正常django form max_length不起作用,django,django-forms,Django,Django Forms,我正在使用django 1.8.7。我注意到表单的最大长度不起作用。对于以下代码,即使设置了max_长度并且密码长度超过50,表单也会进行验证。尽管最小长度验证工作正常 class AuthenticationForm(forms.Form): email_mobile = forms.CharField(widget=forms.TextInput, label="Email or Mobile") password = forms.CharField(widget=forms
class AuthenticationForm(forms.Form):
email_mobile = forms.CharField(widget=forms.TextInput, label="Email or Mobile")
password = forms.CharField(widget=forms.PasswordInput, label="Password", min_length=6, max_length=50, error_messages={'min_length': 'Password should be at least 6 characters long.'})
remember_me = forms.BooleanField(widget=forms.CheckboxInput, required = False)
def clean(self):
cleaned_data = super(AuthenticationForm, self).clean()
try:
if 'email_mobile' in self.cleaned_data:
int(self.cleaned_data['email_mobile'])
if len(self.cleaned_data['email_mobile']) != 10:
raise forms.ValidationError("Please provide a valid 10 digit mobile number.")
except (ValueError, TypeError):
if 'email_mobile' in self.cleaned_data:
validate_email(self.cleaned_data['email_mobile'])
return self.cleaned_data
我是做错了什么还是一个bug?我发现了我的错误。我使用的表单输入已经在html中设置了50个maxlength字符,当我使用selenium发送密钥时,它不需要超过50个字符。根据,它只需要一个参数:
render\u value
。此外,构造函数也没有任何其他参数:
试着在表单清理中清理它。此外,如果您要将其存储在模型中的CharField中,它将满足您的目的 不相关,但是您的
clean()
方法应该使用cleaned_数据
而不是self.cleaned_数据
,而且您的返回值
有错误的缩进。您如何呈现表单?请粘贴处理表单的视图块。