如何为Handsontable中的每个列定义自定义验证器

时间:2017-07-29 21:54:52

标签: javascript validation spreadsheet handsontable

示例here完美地解释了如何为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'
    }
  ]
}); 

由于此验证器验证每列的数据。 但我只想验证一列

1 个答案:

答案 0 :(得分: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'
    }
]
相关问题