首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在网格级别上实现Kendo UI自定义验证器

如何在网格级别上实现Kendo UI自定义验证器
EN

Stack Overflow用户
提问于 2015-12-09 14:00:45
回答 2查看 2.4K关注 0票数 0

我有一个Kendo配置为批处理编辑。在调用网格的CRUD函数之前,我希望实现的是网格级别的自定义验证。因此,假设网格显示一个员工列表,用户使用相同的EmployeeID添加两个雇员;然后单击“保存更改”,网格应该调用自定义验证器规则(例如,我们有一个规则来检查所有employee id是否都是唯一的)。根据验证结果,网格应该决定是否调用它的创建/更新/销毁函数。

如果有人能对我的关切作出回应,我将不胜感激。

我的剑道格网:

代码语言:javascript
复制
<div id="allocGrid" kendo-validator="ctrl.allocationGridValidatorRules" kendo-grid k-options="ctrl.allocationGridOptions(dataItem)"></div>

验证规则:

代码语言:javascript
复制
ctrl.allocationGridValidatorRules = {
        rules: {
            customRule1: function (input) {
                // this rule may check if all the employee Id's in the grid are unique
            }
        },
        messages: {
            customRule1: "Enter a unique Employee Id"
        }
    };

我指的是以下链接:

http://jsfiddle.net/davidsalahi/qMRBc/

http://demos.telerik.com/kendo-ui/validator/angular

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-12-09 18:21:13

如果您正在进行批处理编辑,并且希望检查副本,我建议您使用saveChanges事件,在那里您可以对e.sender.dataSource进行检查,并在需要时停止保存更改。

代码语言:javascript
复制
saveChanges: function(e) {
    if (!confirm("Are you sure you want to save all changes?")) {
       e.preventDefault(); 
    }
票数 1
EN

Stack Overflow用户

发布于 2015-12-09 16:41:03

在这种情况下,您需要在绑定到网格的DataSource中创建自定义验证。例如,您可以这样做:

代码语言:javascript
复制
employees = new kendo.data.DataSource({
   schema: {
      model: {
         fields: {
            EmployeeID: {
               validation: {
                  employeeidvalidation: function(input){
                     if(input.is('[name="EmployeeID"]'){
                        //Implement custom validation here...
                     }
                     return true;
                  }
               }
            }
         }
      }
   }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34180684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档