TransWikia.com

Error en validación jQuery

Stack Overflow en español Asked by scorpions on January 3, 2021

Estoy validando un formulario con jquery, he validado campo a campo y lo hace bien, pero cuando están la mayoría de los inputs rellenos e intento enviar mi formulario, me a parece el siquiente error:

Uncaught TypeError: Cannot read property 'call' of undefined
at a.validator.check (jquery.validate.min.js:4)
at a.validator.checkForm (jquery.validate.min.js:4)
at a.validator.form (jquery.validate.min.js:4)
at HTMLFormElement.<anonymous> (jquery.validate.min.js:4)
at HTMLFormElement.dispatch (app.js:11800)
at HTMLFormElement.elemData.handle (app.js:11604)

Ya he buscado información, pero no encuentro la solución. Los datos los traigo dinámicamente de la bd con Laravel. Si borro los datos de todos los inputs, la validación funciona bien, pero si dejo los inputs cuando carga el documento e intento enviar el formulario, no los valida y provoca ese error… Alguien sabe a que se debe¿??

Como he dicho, ya he comprobado uno a uno y todos existen, no hay fallo de nombres.

mi código de validación:

/* FUNCION PARA ACTUALIZAR DATOS PACIENTES (datos personales) */
    // validamos todo el formulario
    $("#actualizar").on('click', function(e){
        /*alert("click");
        e.preventDefault();*/
            $("#formularioPaciente").validate({
            rules:{
                nombre:{
                    required: true,
                    minleght: 3
                },
                apellidos:{
                    required: true,
                    minleght: 3
                },
                direccion:{
                    required: true,
                    minleght: 3
                },
                codigoPostal:{
                    required: true,
                    minleght: 5
                },
                provincia:{
                    required: true,
                },
                localidad:{
                    required: true,
                    minleght: 3
                },
                dni:{
                    required: true,
                    minleght: 5
                },
                fechaNacimiento:{
                    required: true,
                },
                lugarNacimiento:{
                    required: true,
                    minleght: 3
                },
                profesion:{
                    required: true,
                    minleght: 5
                },
                sexo:{
                    required: true,
                },
                telefono1:{
                    required: true,
                },
                
                compania:{
                    required: true,
                },
            },
            highlight: function (element) {
                $(element).parent().removeClass('success').addClass('error');
            },
            unhighlight: function (element) {
                $(element).parent().removeClass('error').addClass('success');
            },
            errorElement: 'span',
            errorClass: 'help-block',
            errorPlacement: function (error, element) {
                if (element.length) {
                    error.insertAfter(element);
                }else{
                    error.insertAfter(element);
                }
            },
            messages:{
              nombre:{
                required: "Debe introducir un nombre",
                minlength: "El nombre debe contener minimo 3 caracteres"
              },
              apellidos:{
                required: "Debe introducir los apellidos",
                minlength: "El nombre debe contener minimo 3 caracteres"
              },
              direccion:{
                required: "Debe introducir una dirección",
                minlength: "El nombre debe contener minimo 3 caracteres"
              },
              codigoPostal:{
                required: "Debe introducir un código postal",
                minlength: "El CP debe contener minimo 5 caracteres"
              },
              provincia:{
                required: "Debe introducir una provincia"
              },
              localidad:{
                required: "Debe introducir una localidad",
                minlength: "la localidad debe contener minimo 3 caracteres"
              },
              dni:{
                required: "Debe introducir un dni",
                minlength: "El dni debe contener minimo 5 caracteres"
              },
              fechaNacimiento:{
                required: "Debe introducir una fecha de nacimiento"
              },
              lugarNacimiento:{
                required: "Debe introducir un lugar de nacimiento",
                minlength: "la localidad debe contener minimo 3 caracteres"
              },
              profesion:{
                required: "Debe introducir una profesión",
                minlength: "la profesión debe contener minimo 5 caracteres"
              },
              sexo:{
                required: "Debe seleccionar un sexo"
              },
              telefono1:{
                required: "Debe introducir un telefono mínimo",
                minleght: "El teléfono debe contener al menos 9 dígitos"
              },
              
              compania:{
                required: "Debe seleccionar una compañía"
              }
            },
            submitHandler: function(form){
                let formulario = $("#formularioPaciente").serialize();

                console.log(formulario);

                /*$.ajax({
                    type: "GET",
                    url: "/modificarPaciente",
                    data: formulario,
                    success: function(salida){
                        console.log(salida);
                    },
                    error:function(xhr, ajaxOptions, thrownError){
                        console.log(xhr.status);
                    }

                });*/
            }
        });// FIN VALIDACION
    });

Un saludo y gracias

One Answer

Efectivamente era por la versión del jquery que estaba usando

Correct answer by scorpions on January 3, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP