我有一个绑定到10个字段的数据源的网格,所有这些都是复选框。网格已启用弹出编辑。
我想添加一个检查(在提交之前)检查至少一个复选框的验证。如何添加此验证?
所有示例都显示了每个字段的验证,而我想要验证整个行。
更新 SaveChanges对我不起作用但保存了。
save:function(e) {
if(e.model){
var selected = false;
for (var key in e.model) {
if (e.model.hasOwnProperty(key)) {
if(typeof e.model[key] == "boolean"){
if(e.model[key]){
selected = true;
break;
}
}
}
}
if(!selected){
e.preventDefault();
}
}
答案 0 :(得分:0)
是的,验证不是那么灵活。 选项1: 点击网格的saveChanges事件并遍历数据源数据项:
saveChanges: function(e) {
var data = yourDatasource.data(); // this.dataSource.data()
for (var i = 0; i < data.length; i++) {
if (!IsValid(data[i])) {
e.preventDefault();
// don't submit
}
}
},
选项2: 在添加到网格的每个复选框上附加onclick事件并计算点击次数。如果您计算的点击次数较少,则行计数未通过验证。这种验证也将在“saveChanges”事件中处理。