Tôi đã thực hiện xác thực AJAX và thư được xác thực được trả về dưới dạng mảng JSON. Vì vậy, tôi cần phải kiểm tra xem các phím, như name
và email
, có nằm trong mảng JSON đó không.Kiểm tra xem khóa có tồn tại trong mảng JSON không bằng cách sử dụng JQuery
{"name":{"isEmpty":"Value is required and can't be empty"},
"email":{"isEmpty":"Value is required and can't be empty"}}
Chỉ khi có tên khóa, tôi cần viết thông báo lỗi đến trường name
. Sau đây là đoạn code để hiển thị một lỗi nếu các lĩnh vực được nhập
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>");
}
Nhưng nếu trường name
được nhập vào, nó sẽ không có trong mảng JSON. Vì vậy, tuyên bố kiểm tra if(obj['name']['isEmpty']!="")
sẽ dẫn đến lỗi obj.name not found
.
Không cần phải có khóa name
trong mảng. Đồng thời tôi cần kiểm tra điều này để hiển thị lỗi nếu mảng sở hữu khóa name
.
nó trả về false hoặc trường hợp mảng có khóa 'tên' cũng không có phím 'name'.according cho người dùng điền vào mẫu có elemnts tên hoặc email – nidhin
nó trở lại đúng là chìa khóa tồn tại và sai nếu không tồn tại – Dau
@ Dầu, để hoàn thành, nó thực sự kiểm tra xem các tài sản được cung cấp tồn tại trên đối tượng đó tại liên kết của nó trong chuỗi nguyên mẫu của nó. Vì javascript là nguyên mẫu, các đối tượng khác có thể mở rộng từ các đối tượng khác bằng cách kế thừa nguyên mẫu của chúng. Việc kiểm tra 'hasOwnProperty' đảm bảo bạn không" nạo vét "các mục từ cao hơn trong chuỗi nguyên mẫu của đối tượng. – Vinay