Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道淘汰验证中哪个字段无效?_Javascript_Knockout.js_Knockout Validation - Fatal编程技术网

Javascript 如何知道淘汰验证中哪个字段无效?

Javascript 如何知道淘汰验证中哪个字段无效?,javascript,knockout.js,knockout-validation,Javascript,Knockout.js,Knockout Validation,我有一个相当大的淘汰模型,我想验证其中的所有嵌套模型: self.errors = ko.validation.group(self, { deep: true }); 验证程序发现一个错误: > self.errors() ["This field is required."] 我不知道我的巨型模型的哪个字段是无效的。我怎么才能找到呢?我想你应该找这样的东西 // Getting errors var errors = ko.validation.group(this, {

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

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".
    */
}
//获取错误
var errors=ko.validation.group(此{
深:是的,
可观察的:假
});
//新方法:获取扩展细节
var details=errors.getDetails();
对于(变量i=0;i
PS:您需要在验证文件中添加几行,以使
getDetails()
工作,即验证脚本文件中可能没有这些内容。(检查参考链接和检查代码)

沃尔帕夫的推荐信和信用证很早以前就帮了我的忙


以防万一,如果有人正在寻找工作样本,请检查

,谢谢您的建议。我尝试使用volpav版本的文件使用getDetails,但我有一个错误“validatables未定义”。您在这个链接中复制了完整的js代码吗?是的,但我还有其他一些错误。我已经用context.validatables而不是validatables()解决了之前js错误的问题。details对象的信息只通过说出另一个无效字段的规则来帮助我。但我怎么能发现它更简单呢?你能给我设置一个我提到的文件和你的虚拟机的例子,我可以研究它。Cheers我通过可观察引用设置了一个很长的字符串,找到了无效字段,我在页面上看到了它。感谢帮助=)可能重复: