angular2 - 如何在自定义验证器中使用md-error

时间:2017-07-07 07:42:07

标签: angular angular-material angular-material2

如何在自定义验证器中使用md-error?要求的作品......很棒!但是我的自定义验证器呢?

<md-input-container>
     <input mdInput formControlName="etr" >

     <md-error *ngIf="WHAT!!!!!!!!!!!!!!!!!!!">
               ETR must be >=0 or <1
     </md-error>
     <md-error *ngIf="myForm.controls['etr'].hasError('required')">
            <strong>required</strong>
     </md-error>


 </md-input-container>

这是我的类型脚本:

     this.myForm = fb.group({
         etr: [,[Validators.required,ModelValidators.validEtr]],

     })

我确实显示错误下划线但是如何显示消息?

我尝试了这个但是没有用:

    *ngIf="myForm.controls['etr'].hasError('validEtr')"

以下是我的validator.ts文件

import { FormControl } from '@angular/forms';

export class ModelValidators{

static validEtr(control: FormControl){
        var valid: any;
        valid=null;
        if (control.value>=0 && control.value<1){
            valid = true;
        }
        return valid ? null : { validLambda: true };

    }
}

1 个答案:

答案 0 :(得分:2)

validLambda是验证失败时从自定义验证程序返回的错误类型。

所以解决方案如下:

*ngIf="myForm.controls['etr'].hasError('validLambda')"