Проверка формы с использованием jQuery-Ajax - PullRequest
5 голосов
/ 09 марта 2011

Когда дело доходит до нормальных методов 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. Тем не менее, я понятия не имею, как начать / сделать это.

Ответы [ 2 ]

4 голосов
/ 09 марта 2011

Возможно, вы захотите посмотреть http://github.com/alex/django-ajax-validation

Есть некоторая документация здесь и здесь

0 голосов
/ 29 ноября 2013

Вы также можете посмотреть на обработку ошибок с помощью AJAX. http://garmoncheg.blogspot.com/2013/11/ajax-form-in-django-with-jqueryform.html В нем делается акцент на том, как это сделать с помощью плагина формы jQuery и фиктивной конфигурации views / urls, чтобы ваша задача работала. (Хотя бы очень похожий)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...