我正在尝试实施淘汰赛验证。对于这个例子,我有Vacancy类型的对象,其中包含observable属性。如果我留下空输入,除了在UI(jquery弹出窗口)中输入附近显示错误消息外,一切正常。我的下一步应该是什么?
JS
ko.validation.configure({
registerExtenders: true,
messagesOnModified: true,
insertMessages: true,
parseInputAttributes: true,
messageTemplate: null
}
var Vacancy = function() {
this.Header = ko.observable("").extend({ required: true });
}
function viewModel() {
self.selectedVacancy = ko.observable(new Vacancy());
self.action= function() {
self.validationModel = ko.validatedObservable({
P1: self.selectedVacancy().Header
});
if (self.validationModel.isValid()) {
alert('Do Action');
} else {
alert('Not Valid');
}
}
UI
<label>Header: </label>
<input data-bind="value: Header"/>
答案 0 :(得分:1)
Validated Observables有一个showAllMessages方法,可用于手动显示消息。而不是打开警报,或者除了打开警报之外,您可以像这样调用showAllMessages:
self.validationModel.errors.showAllMessages();
此外,请确保insertMessages配置选项设置为true,这是默认设置,但您可能在初始化时更改了