我試圖弄清楚如何使用knockoutjs驗證插件。在github上查看項目站點,有一個getting started section描述如何通過驗證來設置視圖模型。在這個例子中,視圖模型被聲明爲內聯對象(這是正確的術語?)像這樣:設置Knockout ViewModel進行驗證
var myViewModel = ko.validatedObservable({
property1: ko.observable().extend({ required: true }),
property2: ko.observable().extend({ max: 10 })
});
console.log(myViewModel.isValid()); //false
myViewModel().property1('something');
myViewModel().property2(9);
console.log(myViewModel.isValid()); //true
不過,我想用這樣的功能設置我的視圖模型:
function MyViewModel() {
var self = this;
self.property1 = ko.observable().extend({ required: true });
self.property2 = ko.observable().extend({ max: 10 });
};
var viewModelInstance = new MyViewModel();
console.log(viewModelInstance.isValid()); //false
viewModelInstance.property1('something');
viewModelInstance.property2(9);
console.log(viewModelInstance.isValid()); //true
問題是我得到一個腳本錯誤,說我的viewModelInstance
對象沒有方法isValid
。
使用'ko.validatedObservable'你加入(同樣的,當你在'var foo ='bar'上使用'var foo = ko.observable('bar')'時,kojs使得getter/setting /顯示調整成爲可能。 ')。跳過這將刪除實際的實現離開你(本質上)只是元數據沒有實現。怎麼樣模仿實際上[正在執行](https://github.com/ericmbarnard/Knockout-Validation/blob/master/Src/knockout.validation.js#L1082-L1096)? –