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

Posted

技术标签:

【中文标题】如何为 Handsontable 中的每一列定义自定义验证器【英文标题】:How to define a custom validator for each column in Handsontable 【发布时间】:2018-01-05 18:12:45 【问题描述】:

示例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】:

如果您在分享的 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'
    
]

【讨论】:

以上是关于如何为 Handsontable 中的每一列定义自定义验证器的主要内容,如果未能解决你的问题,请参考以下文章

如何为熊猫数据框的每一列应用具有不同时间常数的一阶过滤器?

如何为 DataTable 中的每一行设置/获取自定义数据

Pig如何为列分配名称?

如何为表格中的每一行制作一个接受按钮?

SQL:如何为一列中具有重复值的每组行选择一行?

如何为 Handsontable 创建动态列?