如何为Handsontable中的每列定义自定义验证器
问题描述:
示例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'
}
]
});
由于这个验证验证每个列的数据。 但我只想验证一列只有。
答
如果你看到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'
}
]