2011-03-09 19 views
5

Cuando se trata de métodos POST, GET normales, generalmente conozco mi camino.Validación de formulario usando jQuery-Ajax

Sin embargo, la implementación de ajax-jQuery en mi código para hacer la validación de formularios está demostrando ser un gran paso para que aprenda.

Tengo un formulario que tiene 3 campos: correo electrónico, confirme el correo electrónico y la contraseña.

Estoy usando este formulario para registrar un nuevo usuario.

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 

código HTML

<form method="post"> 
    {{ register_form.as_p() }} 
    <input name = "Register" type="submit" value="Register" /> 
</form> 

me gustaría que, antes de pulsar el botón de enviar, para comprobar si el formulario es válido y visualizar cualquier error relevante mensajes, mediante el uso de métodos ajax-jQuery. Sin embargo, no tengo idea de cómo comenzar/hacer esto.

Respuesta

0

También puede buscar en los errores de manipulación con AJAX. http://garmoncheg.blogspot.com/2013/11/ajax-form-in-django-with-jqueryform.html Tiene un énfasis en cómo hacerlo con el complemento de formulario jQuery y una configuración ficticia de vistas/urls para que su tarea funcione. (Al menos uno muy similar)

+0

¡Bienvenido a Stack Overflow! Si bien esto podría responder teóricamente a la pregunta, [sería preferible] (http://meta.stackexchange.com/q/8259) incluir aquí las partes esenciales de la respuesta y proporcionar el enlace de referencia. Además, eche un vistazo a [¿Cómo puedo vincular un recurso externo de una manera amigable con la comunidad?] (Http://meta.stackexchange.com/q/94022/169503). –

Cuestiones relacionadas