验证一个小技巧kendo.data.Model
因此,这个小技巧无需手动将 HTML5 必需属性添加到每个输入字段,而是获取您在模型中定义的所有验证规则,并将它们作为属性添加到适当的字段。没有经过全面测试,只是一个快速破解。根据 Kendo 的说法,如果您使用 MVVM,则不会处理验证规则,但如果您将 Dataource 直接绑定到网格,它们会处理。
代码:我只是把这段代码放在一个名为definevalidation.js
function getValidationAttributesFromModel(myFields) {
var myValidatedFields = [];
var obj = null;
$.each(myFields, function(fieldName) {
if (this.validation) {
var obj = {
fieldName : fieldName,
validation : this.validation
};
myValidatedFields.push(obj);
}
});
addValidationAttributes(myValidatedFields);
}
function addValidationAttributes(myValidatedFields) {
$.each(myValidatedFields, function(index) {
$('#' + this.fieldName).attr(this.validation);
});
}
用法:如果 ParentDS 是您的数据源,那么在您的表单代码中只需使用
getValidationAttributesFromModel(ParentDS.options.schema.model.fields)
样品型号:
mydatamodel = kendo.data.Model.define({
id : "__KEY",
fields : {
__KEY : {
type : "string"
},
__STAMP : {
type : "number"
},
ID : {
editable : false,
nullable : true
},
firstName : {
type : "string",
validation : {
required : true
}
},
middleName : {
type : "string"
},
lastName : {
type : "string"
}
}
});