Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kendo ui 剑道弹出网格编辑:选择至少一个复选框验证_Kendo Ui_Kendo Grid - Fatal编程技术网

Kendo ui 剑道弹出网格编辑:选择至少一个复选框验证

Kendo ui 剑道弹出网格编辑:选择至少一个复选框验证,kendo-ui,kendo-grid,Kendo Ui,Kendo Grid,我有一个绑定到数据源的网格,其中包含10个字段,所有字段都是复选框。网格已启用弹出式编辑 我想添加一个验证来检查(提交前)是否至少选中了一个复选框。如何添加此验证 所有示例都显示了每个字段的验证,而我希望对整行进行验证 更新 SaveChanges对我不起作用,但save起作用 save:function(e) { if(e.model){ var selected = false; for (var

我有一个绑定到数据源的网格,其中包含10个字段,所有字段都是复选框。网格已启用弹出式编辑

我想添加一个验证来检查(提交前)是否至少选中了一个复选框。如何添加此验证

所有示例都显示了每个字段的验证,而我希望对整行进行验证

更新 SaveChanges对我不起作用,但save起作用

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();
        }
}               

是的,验证不是很灵活。 选项1: 点击网格的事件并遍历数据源数据项:

 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
            }
       }
saveChanges:函数(e){
var data=yourDatasource.data();//this.dataSource.data()
对于(变量i=0;i
},

选项2:
在添加到网格的每个复选框上附加onclick事件,并计算单击次数。如果您计数的点击次数少于行计数,则验证失败。这种验证也将在“saveChanges”事件中处理

建议的解决方案是否成功?我根据您的评论添加了SaveChanges,但没有调用它。有什么问题吗?所以,SaveChanges不起作用,但Save起作用了。我接受了你的回答,因为它为我指明了正确的方向。