gpt4 book ai didi

javascript - 无法转换为对象

转载 作者:行者123 更新时间:2023-11-30 18:48:31 25 4
gpt4 key购买 nike

如果我执行以下代码,我会收到无法转换为对象的错误;未捕获的异常:TypeError:无法将“validation.messages.field”转换为对象

$.fn.validate = function(validation) {
$.each(validation.rules, function(field, fieldRules){
$.each(fieldRules, function(rule, ruleValue){
var fieldValue = $('[name=' + field + ']').val();
if (eval(rule + '(fieldValue, ruleValue)') == false){
alert(validation.rules.field.rule);
return false;
}else{
return true;
};
});
});
}

问题是

alert(validation.messages.field.rule);

'field' = 'persoon_voornaam' 和 'rule' = 'required'并且 validation.messages.persoon_voornaam.required 工作得很好。

我做错了什么?

验证是一个如下所示的 JSON:

{
rules: {
persoon_voornaam: {
required: true,
minlength: 5,
},
postcode_bestemming: {
required: true,
minlength: 7,
},
},
messages: {
persoon_voornaam: {
required: 'Dit veld is verplicht',
minlengt: 'Dit veld moet minstens 5 lang zijn',
},
}
}

最佳答案

它必须是:

alert(validation.rules[field][rule])

澄清一下:

validation.rules 是一个对象,而 field 是一个带有字符串 'persoon_voornaam' 的变量。

validation.rules.persoon_voornaam 是一个对象,与 validation.rules['persoon_voornaam'] 相同。

关于javascript - 无法转换为对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4670093/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com