2016-05-13 2 views
2

私は自分のフォームのフィールドにサーバー(リモート)エラーを付加する機能を持っています。 フォームにグローバルエラーを追加するにはどうすればよいですか(つまり、1つのフィールドだけではありません)。 私はNgFormディレクティブに関連付けられているControlGroupにエラーを設定しますTODOAngular 2でグローバルフォームエラーをプログラムで設定する方法

import {NgForm} from 'angular2/common'; 

export function appendRemoteErrorsToForm(form: NgForm, modelState: Map<string, Array<string>>) { 
    if (!modelState) { 
    return; 
    } 
    let _globalKey = 'global'; 
    for (let key in modelState) { 
    let errors = modelState[key]; 
    if (key !== 'global') { 
     form.controls[key].setErrors({ 
     remote: errors 
     }); 
    } else { 
     //todo 
    } 
    } 
} 

答えて

4

とそれをマーク:あなたはこのようにそれを参照することができるようになります

for (let key in modelState) { 
    let errors = modelState[key]; 
    if (key !== 'global') { 
    form.controls[key].setErrors({ 
     remote: errors 
    }); 
    } else { 
    form.control.setErrors({ // <----- 
     remote: errors 
    }); 
    } 
} 

この方法:

<form #companyForm="ngForm"> 
    <div *ngIf="companyForm.control.errors"> 
    Display errors 
    </div> 
</form> 
関連する問題