我有一个页面设置与Knockout.js和使用Knockout验证。Knockout验证清除错误
在页面加载过程中,我在另一个选择框上放置了另一个插件,该插件触发了一个更改,它将触发验证。我需要能够使用JS清除该错误,这样我才能从全新的UI开始,并对表单发布或选择框更改提供反馈。
我找不到任何能够让我清除Knockout-Validation中的错误的东西。
我有一个页面设置与Knockout.js和使用Knockout验证。Knockout验证清除错误
在页面加载过程中,我在另一个选择框上放置了另一个插件,该插件触发了一个更改,它将触发验证。我需要能够使用JS清除该错误,这样我才能从全新的UI开始,并对表单发布或选择框更改提供反馈。
我找不到任何能够让我清除Knockout-Validation中的错误的东西。
可能是如下什么是淘汰赛验证已经实现了一个更好的办法是说property.isModified(false);
,如果你有一个整体的视图模型通过所有的验证的属性重置简单循环,并呼吁该isModified(false)
见在comment from Eric Barnard here
希望帮助
谢谢。另外,这可能对其他人很明显,但您必须在清除该字段后执行此操作。例如:_thisComment(''); _this.Comment.isModified(假)。轻松验证重置。 –
这正是'showAllMessages(false)'在内部所做的,由@yoann回答 –
晚的答案,但如果有人需要它:
// assuming the ko.observable on the checkbox is called propBoolean
var propBooleanlValid = ko.validation.group(self.propBoolean, { deep: false });
propBooleanlValid .showAllMessages(false);
它会隐藏消息直到下一次验证。
这很好,谢谢!这应该在ko验证文档中。 – Ross
注意:确保你的配置中有'messagesOnModified:true'。如果它是假的,那么邮件将始终显示 –
我觉得这是三个最好的 –
如果您使用实体管理器,请确保在验证中不包含entityAspect,因为它连接到所有其他实体。另见 How to rollback knockout validation errors?
不要冒犯,但我觉得这个答案不是人们应该采取的行动,当他们想要这个功能。从那里我downvote。我赞成你的问题,但它是一个很好的问题! :) –