我有一个将服务器(远程)错误附加到表单中的字段的函数。 如何将全局错误添加到表单中(即不仅仅是一个字段)? 我用TODO
标记了它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
}
}
}
答案 0 :(得分:4)
我会在与ControlGroup
指令关联的NgForm
上设置错误:
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>