首页 > 解决方案 > 我们如何在初始页面加载时动态设置表单数组控件的错误

问题描述

在我的一个要求中,我已经形成了一个包含行和列的类似数组的网格表。一旦在 Init 上,我正在进行服务调用并获取列和值以及错误消息。基于此,我为该列创建了一个表单数组,如果存在错误消息,则每列都有错误消息需要设置错误。

我可以为这些列设置值,但在推入表单数组时无法设置错误,我也不知道如何推入错误。卡在这条线上。

问?在最初我们如何根据服务响应错误消息设置表单数组控件中的错误时,我可以看到很多演示,仅用于初始设置值并为该控件设置验证器。

但在我的情况下,我需要设置错误并根据服务器响应设置一个值。

例如)响应是

  [
    {fieldName:'productId',fieldValue:'123',errorMessage:'Product Id should be alphanumeric'},
    {fieldName:'productname',fieldValue:'123',errorMessage:'Product name should be 10 characters'}],

ETC

onInit(){

// 执行服务调用并获取值,一旦获取值以推送到 formArray 中。但是如何也推送错误。

价值工作正常

let result= service response;

     result.forEach((item:any[], index) => {

 let formData =this.formBuilder.group({
            item.fieldName:[item.fieldValue],
            item.fieldName:[item.fieldValue]
        
        });
        this.formArr.push(formData);
      
});

}

标签: angularangular-reactive-formsangular9formarray

解决方案


You can simply call formData.setErrors({errorMessage:item.errorMessage}) before pushing to formArr.


推荐阅读