【发布时间】:2012-01-17 10:27:42
【问题描述】:
我已经完成了 AJAX 验证,验证后的消息以 JSON 数组的形式返回。因此,我需要检查诸如 name 和 email 之类的键是否在该 JSON 数组中。
{
"name": {
"isEmpty": "Value is required and can't be empty"
},
"email": {
"isEmpty": "Value is required and can't be empty"
}
}
仅当键名存在时,我才需要将错误消息写入name 字段。
以下是输入字段时显示错误的代码
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>");
}
但是如果输入了name字段,它就不会在JSON数组中。
所以检查语句
if (obj['name']['isEmpty'] != "")
将导致以下错误:
找不到obj.name
数组中不必有键 name。同时,如果数组拥有键name,我需要检查这个以显示错误。
【问题讨论】:
标签: javascript jquery json