当我调用“viewModel.errors().length”时,会触发假错误消息

Fake Errors messages are triggered when I call "viewModel.errors().length"

本文关键字:消息 错误 length 调用 viewModel errors      更新时间:2023-09-26

我有一个ViewModel,我把它与ericmbarnard/Knockout-Validation一起使用。在其中我有这个字段:

self.checksum = ko.observable().extend({required: {message: " * Required"}});

在我的 html 中,这个:

<input type="text" id="txtCheckSum" name="txtCheckSum" data-bind="value: checksum"/>

我用javascript代码添加了"输入文件"值。在这个javascript代码中,我计算md5文件,然后填写字段txtCheckSum。但不幸的是,这不会自动填充我的视图模型。

因此,当我调用检查"viewModel.errors((.length == 0"时,我有一个空的错误。

帮助?

正如评论中提到的,KO的目的是将数据与视图分开。通过使用jquery选择器来更新输入的值,您基本上错误地使用了KO值。在极少数情况下,需要简单的jquery。

正确的方法是更新可观察量本身。

vm.checksum("md5 code");

然后你可以一起消除$("#txtCheckSum"(.val/trigger。

我找到了解决方案

在Javascript代码中,我把这个:

    $("#txtCheckSum").val('md5 code');
    $('#txtCheckSum').trigger('change');

我的视图模型接受了这些更改。