我正在用角度6中的handontable。

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

我搜索了多个站点,但没有找到任何单个示例来说明如何为handsOntable在角度2+版本中添加自定义验证

谁能让我知道如何在angular 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

09-10 11:04