You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular中如何为表单数组内的控件设置必填验证?

为Angular表单中skills数组的每个控件添加必填验证

先修正你代码里的一个小问题:skills数组的map回调里没有返回创建的控件,导致数组实际是空的。然后给每个控件加上Validators.required就能实现必填验证,具体修改如下:

1. 导入Validators

在组件文件顶部导入Angular表单的验证器:

import { Validators } from '@angular/forms';

2. 修改表单初始化代码

调整skills数组的控件创建逻辑,添加必填验证,并补全return:

this.feedbackForm = this.fb.group({
  applicantId: [''],
  comments: [''],
  recommendation: [''],
  skills: this.fb.array(
    this.skills.map((t) => {
      // 为每个控件设置初始值和必填验证
      return this.fb.control(t, Validators.required);
    })
  ),
});

也可以简化map的写法,去掉大括号自动返回:

this.feedbackForm = this.fb.group({
  applicantId: [''],
  comments: [''],
  recommendation: [''],
  skills: this.fb.array(
    this.skills.map(t => this.fb.control(t, Validators.required))
  ),
});

这样skills数组里的每个表单控件就都带上了必填验证,提交表单时会检查每个skill输入框是否为空。

内容的提问来源于stack exchange,提问作者rose pauline

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 16:07:48