0
我使用的是knockout validation plug-in。目前它在領域失去焦點時觸發驗證。有什麼方法可以控制驗證何時結束?具體來說,我希望在表單提交事件時觸發驗證,並且不希望焦點丟失。通過驗證不在重點丟失
我使用的是knockout validation plug-in。目前它在領域失去焦點時觸發驗證。有什麼方法可以控制驗證何時結束?具體來說,我希望在表單提交事件時觸發驗證,並且不希望焦點丟失。通過驗證不在重點丟失
我認爲目前沒有辦法停止模糊驗證,但我們可以在ValidationMessage綁定的幫助下做一些解決方法。您可以將配置「insertMessages」更改爲false,以便默認驗證消息不會出現,然後使用ValidationMessage顯示消息並使用更多的標誌,這將在提交時爲true。
示例代碼: -
ko.validation.configure({
insertMessages: false
});
var vM = function() {
this.isSubmit = ko.observable(false);
this.Name = ko.observable().extend({
required: true,
number: true
});
this.errors = ko.validation.group(this);
};
vM.prototype.save = function() {
this.isSubmit(true);
if (!this.isValid()) {
this.errors.showAllMessages();
} else {
alert("success");
}
};
vM.prototype.set=function(){
this.isSubmit(false);
};
ko.applyBindings(new vM());
查看: -
Name:<input type="text" data-bind="value: Name,event: { keyup: set}" />
<span data-bind="if: isSubmit">
<p data-bind="validationMessage: Name"></p>
</span>
謝謝!這一行的具體目的是什麼_this.errors = ko.validation.group(this); _和這個綁定_validationMessage_? –
ko.validation.group給視圖模型的所有錯誤消息提供一個(計算的)可觀察值。 – Akhlesh
所以這實際上是相同的_ko.validatedObservable(vM)_? –