我想问一下,我可以将敲除验证添加到整个模型,而不是每个属性。我使用以下代码创建了一个视图模型:
var UserViewModel = function() {
return @Html.Raw(Json.Encode(Model.UserViewModel));
};
var entry = ko.mapping.fromJS(new UserViewModel());
现在,我可以通过添加验证规则来扩展此视图模型吗?例如:
entry.extend('propertyName', rules...)
答案 0 :(得分:1)
您可以使用映射插件为您创建像
一样的可观察对象var UserViewModel = function(data) {
ko.mapping(data, {}, this);
};
然后您可以动态创建验证,如
function addValidation(vm) {
for(var index in vm) {
var member = vm[index];
if(ko.isObservable(member) && !ko.isComputed(member)) {
member.extend({ required: true });
if(typeof member() === "number") {
member.extend({ number: true });
}
}
}
};