2017-07-07 5 views
0

カスタムバリデータでmd-errorを使用するにはどうすればよいですか?必要な作業...素晴らしい!私のカスタムバリデーターはどうですか?ここでangular2 - カスタムバリデータで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 }; 

    } 
} 
+0

ModelValidators.validEtr' 'についてのコードを投稿してください? – Pengyy

+0

私はvalidator.tsファイルを追加しました。これは有効な入力までフォームが無効になっていますが、エラーメッセージは表示されません。私は赤い線を得る。 – Tampa

答えて

2

validLambdaファイルでは、検証が失敗したときに、カスタムバリデータから返されるエラータイプです。

ので、解決策は以下の通りです:

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

それは働いていましたが、私は複数の習慣を持っていましたか?違いをどのように伝えることができますか? – Tampa

+0

@Tampaあなたは単一の要素で複数のカスタムバリデータを意味しますか?カスタムバリデータから返されたエラータイプによってそれらを区別することができます。あなたが何を意味しているかを願っています。 :-) – Pengyy

関連する問題