2017-01-23 9 views
0

ユーザー名とパスワードの値を比較して比較する必要があります。ここでカスタムバリデーター内の2つのコントロールを比較するには?

は、ここでの問題は、私は2つのコントロールの値を得ることができないということである私のカスタムバリデータ

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

export class PasswordValidator { 
    static isNotEqual(control: FormControl) { 
     if (control.get('username').touched && control.get('password').touched) { 
      if (control.get('username').value != control.get('password').value) { 
       return { isNotEqual: true } 
      } else { 
       return { isNotEqual: false } 
      } 
     } else { 

     } 
    } 
} 

です。誰でも助けますか?

答えて

1

あなたは親によって第二の制御にアクセスすることができます:あなたは、パスワード、フォームコントロール、または反対に、このバリデータを追加する必要が

isEqual(c: FormControl): any { 
     if (c.parent) { 
      if (c.parent.value['username'] !== c.value) { 
       return {isNotEqual: true} 
      } else { 
       return {isNotEqual: false} 
      } 
     } 

     return null; 
    } 

関連する問題