Saltar al contenido

¿Cómo borrar los mensajes de error de validación de jQuery?

Nuestros mejores desarrolladores han agotado sus reservas de café, buscando día y noche por la resolución, hasta que Fernando halló la solución en Bitbucket y en este momento la compartimos contigo.

Solución:

Quiere que el resetForm() método:

var validator = $("#myform").validate(
   ...
   ...
);

$(".cancel").click(function() 
    validator.resetForm();
);

Lo agarré de la fuente de una de sus demostraciones.

Nota: este código no funcionará para Bootstrap 3.

Me encontré con este problema yo mismo. Tuve la necesidad de validar condicionalmente partes de un formulario mientras se construía el formulario según los pasos (es decir, ciertas entradas se agregaron dinámicamente durante el tiempo de ejecución). Como resultado, a veces un menú desplegable seleccionado necesitaría validación y otras veces no. Sin embargo, al final de la prueba, necesitaba ser validado. Como resultado, necesitaba un método robusto que no fuera una solución alternativa. Consulté el código fuente de jquery.validate.

Esto es lo que se me ocurrió:

  • Borrar errores indicando el éxito de la validación
  • Controlador de llamadas para visualización de errores
  • Borrar todo el almacenamiento de éxito o errores
  • Restablecer la validación del formulario completo

    Esto es lo que parece en el código:

    function clearValidation(formElement)
     //Internal $.validator is exposed through $(form).validate()
     var validator = $(formElement).validate();
     //Iterate through named elements inside of the form, and mark them as error free
     $('[name]',formElement).each(function()
       validator.successList.push(this);//mark as error free
       validator.showErrors();//remove error messages if present
     );
     validator.resetForm();//remove error class on name elements and clear history
     validator.reset();//remove all error and success data
    
    //used
    var myForm = document.getElementById("myFormId");
    clearValidation(myForm);
    

    minimizado como una extensión jQuery:

    $.fn.clearValidation = function()var v = $(this).validate();$('[name]',this).each(function()v.successList.push(this);v.showErrors(););v.resetForm();v.reset();;
    //used:
    $("#formId").clearValidation();
    
  • Si desea simplemente ocultar los errores:

    $("#clearButton").click(function() 
      $("label.error").hide();
      $(".error").removeClass("error");
    );
    

    Si especificó el errorClassllame a esa clase para ocultar en su lugar error (el predeterminado) que usé arriba.

    Puntuaciones y reseñas

    Al final de todo puedes encontrar las observaciones de otros programadores, tú incluso puedes dejar el tuyo si dominas el tema.

    ¡Haz clic para puntuar esta entrada!
    (Votos: 0 Promedio: 0)



    Utiliza Nuestro Buscador

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *