Knockout.js 淘汰有效性-隐藏错误消息
我从不希望任何错误消息出现在视图上(我使用toastr显示敲除验证生成的错误)。在我的代码中,我使用:insertMessages:false。这将抑制错误,除非用户在必填字段中输入数据,删除该数据,然后制表符脱离控制。当用户选项卡脱离输入控件时,我不知道如何隐藏任何错误消息。这是我的代码摘录- 视图模型-Knockout.js 淘汰有效性-隐藏错误消息,knockout.js,durandal,single-page-application,knockout-validation,Knockout.js,Durandal,Single Page Application,Knockout Validation,我从不希望任何错误消息出现在视图上(我使用toastr显示敲除验证生成的错误)。在我的代码中,我使用:insertMessages:false。这将抑制错误,除非用户在必填字段中输入数据,删除该数据,然后制表符脱离控制。当用户选项卡脱离输入控件时,我不知道如何隐藏任何错误消息。这是我的代码摘录- 视图模型- LCAmount: ko.observable(LCAmount).extend({ insertMessages: false, required: { message: 'LC Amo
LCAmount: ko.observable(LCAmount).extend({ insertMessages: false, required: { message: 'LC Amount is Required' } })
var saveAll = function () {
try {
var goAhead = true;
var changes = false;
SaveFlag(true);
ko.utils.arrayForEach(LoanDetails(), function (item) {
if (item.LCAmount != '')
changes = true;
if (item.errors().length > 0) {
goAhead = false;
logError("Errors on form: " + item.errors(), item, true);
}
});
if (goAhead && changes && okStoSave) {
$.prompt("Are you sure you want to save? You will not be able to change your decision after it's been saved.", {
title: "Save?",
buttons: { "Save": true, "Cancel": false },
submit: function (e, v, m, f) {
if (v) {
response = saveUpdates(LoanDetails);
});
vm.clientNumber('');
vm.clientName('');
}
}
});
}
看法-
尝试将输入包装在一个类似div的容器中,并对其应用validationOptions
<div data-bind="validationOptions: { insertMessages: false }"><input data-bind="value: LCAmount" /></div>
你能创建一个小提琴来演示你的问题吗?我不确定为什么我会收到否决票,我必须这样做才能使它在我的应用程序中正常工作。这对我来说很有效,但当我试图将它放在碰巧使用模板绑定的父级上时就不行了。必须在模板中添加额外的包装。
<div data-bind="validationOptions: { insertMessages: false }"><input data-bind="value: LCAmount" /></div>