我试图弄清楚如何使用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)? –