1
我是全新的JavaScript和淘汰賽。我正在使用knockout-validation進行客戶端驗證,並且遇到了一些麻煩。我想要一些需要用戶輸入的文本框在模糊時顯示錯誤消息(即使用戶沒有輸入任何內容)。我碰到的一個問題是,我不想馬上顯示錯誤消息。我能夠得到這個工作,但想知道是否有人有一個更優雅的方式來做到這一點。我所做的僞代碼是將文本框的值設置爲可觀察值,然後將其訂閱到文本框的焦點。下面是這個視圖模型和小提琴的示例代碼,用它去:顯示模糊文本框的錯誤消息
self.firstName = ko.observable().extend({
required: true,
notify: 'always'
});
self.firstName.focused = ko.observable();
self.firstName.focused.subscribe(function(newVal) {
if(not the first time in the function and the value hasn't changed)
{
update the value to itself;
//if this is empty then it will trigger the "required" error message
}
});
http://jsfiddle.net/sderico/qAnxw/
我想知道是否有實現這個功能(或任何其他方式是不是活得一個更好的方式太複雜)。提前致謝!
這是好得多。謝謝! – Teeknow
發現了一個小錯誤(當然這並不是真的,因爲這樣做是我所問的)如果輸入有效的文本並按回車以嘗試提交此文本框所在的窗體,那麼會彈出一條無效消息。我想我可以做一些類似bind valueUpdate的事情:{'blur','submit'}所以我會試試看。 – Teeknow