1.如果form想單獨驗證一個字段可以定義如下函數:def clean_password2
,password2
就是定義的字段名稱:
class UserForm(forms.ModelForm):
password = forms.CharField(widget=forms.PasswordInput)
password2 = forms.CharField(widget=forms.PasswordInput)
class Meta:
model = User
fields =('username','email')
def clean_password2(self):
cd = self.cleaned_data
if cd["password"] !=cd["password2"]:
raise forms.ValidationError("密碼不一致")
else:
return cd["password2"]
系統先調用系統的clean_data
函數然后在調用自定義的clean_xxx
在form.is_valid()
函數調用的時候會觸發(fā)自定義的clean_xxx