2016-11-17 4 views
1

私はこのようなフォームグループ構築する場合:私は、フォームのグループからすべてのエラーを取得する方法を角度2のフォームグループからすべてのエラーをどのように取得できますか?

this.passWordForm = this._formBuilder.group({ 
     "previous_password": [this.changePassword.previous_password, Validators.compose([Validators.required])], 
     "new_password": [this.changePassword.new_password, Validators.compose([Validators.required,PasswordValidator.validate])], 
    }); 

を?私が行ってきたことはこれです:

<form role="form" [formGroup]="passWordForm" novalidate (ngSubmit)="submitChangePassword()"> 
<input [(ngModel)]="changePassword.previous_password" formControlName="previous_password" name="previous_password" type="password" placeholder="Previous Password" class="form-control" required> 
<input formControlName="new_password" [(ngModel)]="changePassword.new_password" name="new_password" type="password" placeholder="New Password" class="form-control" required> 
<div *ngIf="passWordForm.invalid === true && passWordForm.controls['new_password'].errors"> 
    <div *ngFor="let line of passWordForm.controls['new_password'].errors.message" class="alert alert-danger">{{line}}</div> 
</div> 
<div *ngIf="passWordForm.invalid === true && passWordForm.controls['previous_password'].errors"> 
    <div class="alert alert-danger">{{passWordForm.controls['previous_password'].errors.message}}</div> 
</div> 
</form> 

私はpassWordForm.errorsが連結されたリストを返すだろうと期待していたが、それは私が考えるpassWordForm.invalid === true

+0

[Angular 2 FormGroupからすべての検証エラーを取得する](https://stackoverflow.com/questions/40680321/get-all-validation-errors-from-angular-2-formgroup) –

答えて

1

唯一の方法は次の場合に、フォームを知っているときでも、常にnullですpasswordForm.validを実行してからControlsオブジェクトを反復処理し、個々のフォーム要素のエラーを見つけ出すことで有効かどうかを判断します。

+0

「パスワードフォーム.errors'の略? – smartmouse

+0

@smartmouse申し訳ありませんが、私はそれに答えることができませんでした..私も同じ質問があります。 [link](https://github.com/angular/angular/issues/10530)このリンクでは、この問題に関するいくつかの議論があります。 – praveen

関連する問題