2017-07-29 79 views
0

示例here完美地解釋瞭如何爲Handsontable定義自定義驗證器。如何爲Handsontable中的每列定義自定義驗證器

例子:

(function(Handsontable){ 
    function customValidator(query, callback) { 
     // ...your custom logic of the validator 

     callback(/* Pass `true` or `false` based on your logic */); 
    } 

    // Register an alias 
    Handsontable.validators.registerValidator('my.custom', customValidator); 

})(Handsontable); 

從現在起,您可以使用customValidator像這樣:

var hot = new Handsontable(document.getElementById('container'), { 
    data: someData, 
    columns: [ 
    { 
     validator: 'my.custom' 
    } 
    ] 
}); 

由於這個驗證驗證每個列的數據。 但我只想驗證一列只有

回答

0

如果你看到link上的更高級的例子,你已經分享這可能回答你的問題。

但它將完全取決於您的數據的結構和列的名稱。

我在頁面上創建了第二個示例的JSFiddle,並添加了自定義驗證程序。

從這裏就可以看出,他們是按名稱引用特定列:

columns: [ 
    { data: 'id', type: 'numeric'}, 
    { data: 'name.first'}, 
    { data: 'name.last'}, 
    { data: 'ip', validator: ipValidatorRegexp, allowInvalid: true}, 
    { data: 'email', validator: emailValidator, allowInvalid: false} 
] 

所以,你可以調用自定義驗證這樣:

columns: [ 
    { 
     validator: 'my.custom', 
     data: 'columnName' 
    } 
]