如何使用Angular创建自定义验证器?

时间:2018-03-26 12:23:06

标签: javascript angular

我正在使用angular 2,我想创建一个自定义验证器来处理输入字段的多个正则表达式。

我认为我无法使用pattern属性,因为有多个正则表达式值。

有没有办法将my_Custom_Validator称为自定义验证程序?

<input id="xbd4msjgn" type="text" [(ngModel)]="xbd4msjgn">

这是javascript端;

export class MyComponent {

   private xbd4msjgn;

   my_Custom_Validator(){

      if(checkRegex1()){
        showErrorMessageForRegex1();
      }
      if(checkRegex2()){
        showErrorMessageForRegex2();
      }

   }


}

1 个答案:

答案 0 :(得分:1)

  

您可以这样做:

 private customValidator(control: AbstractControl): { invalid: boolean } {
    const regExp1 = /^[a-z\A-Z\s-\.]+$/;
    const regExp2 = /^[a-z\A-Z\s-\.]+$/;
    if (!regExp1.test(control.value)) {
        return {invalid: true};
    } else if (!regExp2.test(control.value)) {
        return {invalid: true};
    }
}