我正在使用 knockout.js 和 knockout.validation 插件。我有一个搜索表单,其中包含 3 个输入字段Name, Date and Country
。我想确保用户在继续搜索之前必须填写至少 1 个字段。required
出于这个原因,我在所有 3 个字段上应用了本机验证规则。这是我的代码:
function SearchModel() {
var self = this;
self.Name = ko.observable().extend({ required: true });
self.Date = ko.observable().extend({ required: true });
self.Country = ko.observable().extend({ required: true });
self.Errors = ko.validation.group(self);
}
如果验证失败,我还创建了一个 Errors 属性,其中包含所有验证消息。现在,当用户提交搜索表单并且验证失败时,我不想在输入字段下方显示所有错误消息,而是希望在表单顶部显示一条消息,例如“您必须输入至少一个过滤器用于搜索”。
所以我的问题是如何隐藏所有消息并在表单顶部显示一条消息?或者,如果有任何其他更好的方法来做我想做的事情,而不是让我知道?