Angular的FormArray自定义验证器不触发
创始人
2024-10-24 03:31:19
0

在 Angular 中,可以使用自定义验证器来验证 FormArray。如果自定义验证器没有触发,可能是由于以下原因:

  1. 没有将自定义验证器添加到 FormArray 控件中。
  2. 自定义验证器没有正确地返回验证结果。
  3. 自定义验证器没有正确地绑定到 FormArray 控件。

下面是一个解决方法的代码示例:

首先,创建一个自定义验证器函数,它接受一个 FormArray 控件作为参数,并返回一个验证结果对象:

function customValidator(formArray: FormArray) {
  // 验证逻辑
  if (/* 验证失败 */) {
    return { customError: true };
  }
  return null;
}

然后,在组件中创建一个 FormArray 控件,并将自定义验证器添加到该控件中:

import { Component, OnInit } from '@angular/core';
import { FormBuilder, FormGroup, FormArray } from '@angular/forms';

@Component({
  selector: 'app-my-component',
  templateUrl: './my-component.component.html',
  styleUrls: ['./my-component.component.css']
})
export class MyComponentComponent implements OnInit {
  myForm: FormGroup;

  constructor(private fb: FormBuilder) {
    this.myForm = this.fb.group({
      myArray: this.fb.array([], customValidator) // 将自定义验证器添加到 FormArray 控件中
    });
  }

  ngOnInit() {}

  // 添加一个表单控件到 FormArray 中
  addControl() {
    const myArray = this.myForm.get('myArray') as FormArray;
    myArray.push(this.fb.control(''));
  }

  // 获取 FormArray 控件
  get myArray() {
    return this.myForm.get('myArray') as FormArray;
  }
}

最后,在模板中使用 FormArray 控件和自定义验证器:

自定义验证错误消息

在以上代码中,当自定义验证器返回验证结果时,表单控件会自动更新并显示错误消息。

相关内容

热门资讯

透视美元局!wpk私人辅助,w... 透视美元局!wpk私人辅助,wpk系统是否存在作弊行为,黑科技教程(一直存在有挂)亲,关键说明,wp...
透视科技!购买的wpk辅助在哪... 透视科技!购买的wpk辅助在哪里下载,有哪些免费的wpk作弊码,攻略方法(原来真的有挂)1、购买的w...
透视游戏!wpk俱乐部有没有辅... 透视游戏!wpk俱乐部有没有辅助,wpk安卓下载辅助,必胜教程(本来有挂)1、用户打开应用后不用登录...
透视软件!wpk模拟器,如何下... 透视软件!wpk模拟器,如何下载wpk透视版,插件教程(总是真的是有挂);1)如何下载wpk透视版辅...
透视辅助!wpk辅助器是真的吗... 透视辅助!wpk辅助器是真的吗,wpk系统是否存在作弊行为,扑克教程(好像真的有挂);1、金币登录送...
透视挂!wpk免费辅助,购买的... 透视挂!wpk免费辅助,购买的wpk辅助在哪里下载,透视教程(原来是真的有挂)1、首先打开购买的wp...
透视插件!wpk辅助软件,wp... 透视插件!wpk辅助软件,wpk软件是正规的吗,系统教程(切实存在有挂)运wpk软件是正规的吗辅助工...
透视总结!wpk系统是否存在作... 透视总结!wpk系统是否存在作弊行为,wpk有那种辅助吗,透视教程(果然真的是有挂)1、让任何用户在...
透视辅助!wpk安卓下载辅助,... 透视辅助!wpk安卓下载辅助,wpk模拟器是什么,细节揭秘(都是是真的有挂)1、用户打开应用后不用登...
透视软件!wpk免费辅助,wp... 透视软件!wpk免费辅助,wpk私人局有透视吗,黑科技教程(好像是真的有挂)1、下载好wpk私人局有...