2016-10-10 6 views
0

複数の角度バリデーター引数[Validators.minLength(8)とValidators.maxLength(12)]をフォームに追加しようとしましたが、これらの引数は、以下のコードの(パスワードとパスワード)インスタンスに添付されています。助けてください?2つのバリデーター引数をAngular 2フォームで追加するには

export class signupComponent { 
     signupform: FormGroup; 
     constructor(public fb: FormBuilder) { 
      this.signupform = this.fb.group({ 
       firstname: ['', Validators.required], 
       lastname: ['', Validators.required], 
       account: this.fb.group({ 
        email: ['', Validators.required], 
        **password: ['', Validators.minLength(8), Validators.maxLength(12), Validators.pattern('[A-Za-z]{5}')], 
        passwordc: ['', Validators.minLength(8), Validators.maxLength(12), Validators.pattern('[A-Za-z]{5}')], 
       }, { validator: passwordMatcher }),** 
       shortbio: ['', Validators.required] 
      }); 

     } 
    } 

答えて

1

複数のバリデータをサポートするには、バリデータの配列を受け入れるValidators.compose([])メソッドを使用する必要があります。あなたのケースでは:

password: ['', Validators.compose([Validators.minLength(8), Validators.maxLength(12), Validators.pattern('[A-Za-z]{5}')])] 
+2

これは当てはまりましたが、もはや(IIRC:RC3またはRC4以降)ではありません。これで、バリデータの配列を渡すだけで、 'Validators.compose()'は不要になりました。しかし、 'Validators.compose()' *はまだ使用できますので、あなたの答えは問題を解決すると思います。 – BlueM

-1
password: ['', [Validators.minLength(8), Validators.maxLength(12), Validators.pattern('[A-Za-z]{5}')]] 

これはあなたのために仕事をする必要があります。

+0

これは**他の回答と非常に似ています**。私は別の答えではなく、別の答えに対するコメントになるべきだと思います。 – MSeifert

+0

類似しているが同一ではない。私は "構成"を省略しました。それは必要ない。私はそれを単純化しました。 – Mano

+0

ええ、それも[既に言及](http://stackoverflow.com/questions/39965847/how-do-i-I-more-that-one-validator-argument-in-angular-2-form/42634393 ?noredirect = 1#comment67223310_39966100)、そうですか? – MSeifert

関連する問題