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
Efectivamente era por la versión del jquery que estaba usando
Correct answer by scorpions on January 3, 2021
Get help from others!
Recent Answers
Recent Questions
© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP