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

Angular FormControl的minlength校验错误未出现在errors对象中如何解决

问题根因
  • Validators.minLength的内置校验规则限制:Angular 官方的Validators.minLength校验器默认会忽略空值(空字符串、null、undefined),仅当控件的值为非空时才会执行长度校验逻辑。你初始化时给title控件设置的默认值是空字符串,此时minLength校验直接判定为通过,不会生成对应的错误项。
  • 预期逻辑偏差说明:required和minLength的错误触发条件本身是互斥的,你不可能同时拿到两类错误:required错误仅在控件值为空时出现,此时minLength不生效;控件值非空时required错误会消失,才有可能触发minLength的长度校验错误。
校验效果验证

你可以修改初始化默认值为长度小于10的非空字符串测试,此时打印的errors对象就会返回minlength错误:

title: new FormControl("test", [Validators.minLength(10), Validators.required])

如果需要空值场景下也触发长度校验,你可以自定义校验器替代内置的minLength即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 16:36:01