【问题标题】:Form validation using jQuery-Ajax使用 jQuery-Ajax 进行表单验证
【发布时间】: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 方法检查表单是否有效并显示任何相关的错误消息。但是,我不知道如何开始/执行此操作。

【问题讨论】:

    标签: django jquery


    【解决方案1】:

    您可能想查看http://github.com/alex/django-ajax-validation

    有一些文档herehere

    【讨论】:

    • 材料看起来很有趣,我去看看
    【解决方案2】:

    您还可以查看使用 AJAX 处理错误。 http://garmoncheg.blogspot.com/2013/11/ajax-form-in-django-with-jqueryform.html 它着重于如何使用 jQuery 表单插件和虚拟视图/urls 配置来完成它,以便您的任务正常工作。 (至少非常相似)

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-08
    • 1970-01-01
    相关资源
    最近更新 更多