角反应形式的动态误差

时间:2018-03-19 23:55:14

标签: angular angular-reactive-forms

我试图在Ionic移动应用程序中获取Angular反应形式,以显示与每个字段相关的验证错误。我读过的所有教程都特别指出了每个字段和验证器对我来说都不是很有活力。

这是我到目前为止的模板

<ion-input *ngIf="property.component == 'number'"
    type="number" [attr.id]="property.id"
    [formControlName]="property.label">
</ion-input>

我有数字,文本,日期等组件。此代码创建模板

使用的表单组
private createFormGroup = (question: SurveyQuestion) => {

    const formGroup = this.formBuilder.group({
        [question.label]: this.formBuilder.array([])
    });
    const items = formGroup.get(question.label) as FormArray;
    question.properties.forEach((property, index) => {

        let validatorArray = [];

        if (!property.is_optional)
        {
            validatorArray.push(Validators.required);
        }

        //Other validators are added to array here

        items.push(this.formBuilder.group({
            [property.label]: new FormControl("",  Validators.compose(validatorArray))
        }))
    });

    return formGroup;

};

正如您所看到的,每个FormControl都有一个由数据库控制的验证器数组。

如何在不事先了解附加验证器的情况下修改模板以报告每个字段的错误?

0 个答案:

没有答案