如何知道哪个字段在挖空验证中无效

How to know which field is invalid in knockout validation?

本文关键字:验证 无效 何知道 字段      更新时间:2023-09-26

我有一个相当大的敲除模型,我想验证其中的所有嵌套模型:

self.errors = ko.validation.group(self, { deep: true });

验证器发现错误:

> self.errors()
["This field is required."]

我不知道我的巨大模型的哪个字段是无效的。我怎样才能找到它?

我想你应该寻找这样的东西

// Getting errors
var errors = ko.validation.group(this, {
    deep: true,
    observable: false
});
// New method: getting extended details
var details = errors.getDetails();
for (var i = 0; i < details.length; i++) {
    var d = details[i];
    /*
        Every element contains the following fields:
        "observable" - a reference to the target observable.
        "error" - the error message.
        "rule" - the name of the failed validation rule.
        "data" - an object that contains extension data (provided via "extend" method) for every rule. E.g. "data.required == true".
    */
}

PS:您需要在验证文件中添加几行才能使getDetails()工作,即您拥有的验证脚本文件中可能不存在。(检查参考链接和检查代码)

参考这里并归功于 volpav 它帮助了我很久.

以防万一有人在寻找working sample在这里检查