He realizado la validación AJAX y el mensaje validado se devuelve como una matriz JSON. Por lo tanto, necesito verificar si las claves, como name
y email
, están en esa matriz JSON.Compruebe si la clave existe en la matriz JSON usando JQuery
{"name":{"isEmpty":"Value is required and can't be empty"},
"email":{"isEmpty":"Value is required and can't be empty"}}
Sólo si el nombre de la clave está presente, tengo que escribir un mensaje de error al campo name
. siguiente es el código para mostrar un error si se introducen campos
if(obj['name']'isEmpty']!=""){
$('#name').after(c1+"<label class='error'>"+ obj['name']['isEmpty']+"</label>");
}
if(obj['email']['isEmpty']!=""){
$('#email').after(c4+"<label class='error'>"+ obj['email']['isEmpty']+"</label>");
}
Pero si se introduce el campo name
, no estarán en matriz JSON. Por lo tanto, la afirmación de comprobación if(obj['name']['isEmpty']!="")
dará como resultado un error obj.name not found
.
No es necesario tener la clave name
en la matriz. Al mismo tiempo, necesito verificar que esto muestre el error si la matriz posee la clave name
.
devuelve falso cualquiera de los casos de la matriz tiene la clave 'nombre' ni tiene la clave 'nombre'. Según el usuario el formulario de relleno la matriz tiene elemnts nombre o correo electrónico – nidhin
devuelve verdadero es la clave existe y falso si no existe – Dau
@ Dau, para estar completo, realmente verifica si la propiedad suministrada existe en ese objeto en su enlace en su cadena de prototipo. Como javascript es prototípico, otros objetos pueden extenderse desde otros objetos al heredar su prototipo. Verificando 'hasOwnProperty' asegura que no estás" dragando "elementos desde lo alto en la cadena de prototipos de un objeto. – Vinay