0

我有一個Kendo UI Grid,配置爲批量編輯。我希望在調用網格的CRUD函數之前實現網格級定製驗證。因此,假定網格顯示員工列表,並且用戶添加兩個具有相同EmployeeID的員工;然後點擊「保存更改」,網格應該調用自定義驗證器規則(比如我們有一條規則來檢查所有員工ID是否都是唯一的)。根據驗證結果,網格應該決定是否調用它的create/update/destroy函數。如何在網格級別上實現Kendo UI自定義驗證器

如果有人能迴應我的關注,我將不勝感激。

我的劍道網:

<div id="allocGrid" kendo-validator="ctrl.allocationGridValidatorRules" kendo-grid k-options="ctrl.allocationGridOptions(dataItem)"></div> 

驗證規則:

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

回答

1

如果你正在做的批量編輯和u要重複檢查,我建議你使用saveChanges事件,其中u可以做e.sender.dataSource支票並在需要時停止保存更改

saveChanges: function(e) { 
    if (!confirm("Are you sure you want to save all changes?")) { 
     e.preventDefault(); 
    } 
+0

這就是我一直在尋找的東西:)謝謝 – Lucifer

0

在這種情況下,您需要在綁定到網格的DataSource中創建自定義驗證。例如,你可以這樣做:

employees = new kendo.data.DataSource({ 
    schema: { 
     model: { 
     fields: { 
      EmployeeID: { 
       validation: { 
        employeeidvalidation: function(input){ 
        if(input.is('[name="EmployeeID"]'){ 
         //Implement custom validation here... 
        } 
        return true; 
        } 
       } 
      } 
     } 
     } 
    } 
});