如何在angular 2+中为handontable添加自定义验证

时间:2019-02-18 07:23:05

标签: javascript angular angular6 handsontable

我正在使用角度为6的handsontable。

我尝试使用代码添加自定义验证,该代码已在我的angular 6组件的官方文档中显示,但没有用。

我搜索了多个站点,但是没有找到一个示例,该示例显示了如何为handOntable添加2个以上版本的自定义验证

任何人都可以让我知道如何在角度2+版本中注册自定义验证

预先感谢:)

1 个答案:

答案 0 :(得分:2)

为电子邮件创建了示例自定义验证器,并能够设置为列

emailValidator = (value, callback) => {
  console.log(value)
  setTimeout(function(){
    if (/.+@.+/.test(value)) {
      callback(true);
    }
    else {
      callback(false);
    }
  }, 1000);
};

private columns: any[] = [
{
  data: 'name'
},
{
  data: 'email',
  validator: this.emailValidator,
  // Uncomment below line accept invalid input and indicate
  // allowInvalid: true
}
];

@ViewChild(HotTableComponent) hotTableComponent;
// Call validator after initialization
afterInit() {  this.hotTableComponent.getHandsontableInstance().validateCells(function(valid){});

afterInit是事件发射器

<hot-table [data]="data"
       [colHeaders]="colHeaders"
       [columns]="columns"
       [options]="options"
       (hotInstanceCreated)="instanceCreated($event)"
       (afterInit)="afterInit(event$)"
       [colWidths]="colWidths">

https://stackblitz.com/edit/angular-kjmvq4?file=app%2Fapp.component.ts