【发布时间】:2011-07-11 13:55:08
【问题描述】:
当涉及到普通的 POST、GET 方法时,我通常知道自己的方法。
然而,在我的代码中实现 ajax-jQuery 以进行表单验证对我来说是学习的一大步。
我有一个包含 3 个字段的表单: 电子邮件、确认电子邮件和密码。
我正在使用此表单注册新用户。
form.py
class UserField(forms.EmailField):
def clean(self, value):
super(UserField, self).clean(value)
try:
User.objects.get(username=value)
raise forms.ValidationError("email already taken.")
except User.DoesNotExist:
return value
class RegistrationForm(forms.Form):
email = UserField(max_length=30, required = True)
conf_email = UserField(label="Confirm Email", max_length=30, required = True)
password = forms.CharField(label="Enter New Password", widget=forms.PasswordInput(), required=True)
def clean(self):
if 'email' in self.cleaned_data and 'conf_email' in self.cleaned_data:
if self.cleaned_data['email'] != self.cleaned_data['conf_email']:
self._errors['email'] = [u'']
self._errors['conf_email'] = [u'Email must match.']
return self.cleaned_data
HTML代码
<form method="post">
{{ register_form.as_p() }}
<input name = "Register" type="submit" value="Register" />
</form>
我希望在按下提交按钮之前,通过使用 ajax-jQuery 方法检查表单是否有效并显示任何相关的错误消息。但是,我不知道如何开始/执行此操作。
【问题讨论】: