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

Angular表单报错:Cannot read property 'required' of null问题排查求助

解决Angular模板中下拉选择框验证时的TypeError错误

你遇到的这个错误是典型的空值访问问题——当你触发控件的touched状态后,courseCategory.errors对象可能还处于null状态,这时候直接去访问errors.required就会抛出Cannot read property 'required' of null的报错,和你安装的Bootstrap版本完全没关系哦。

给你两种简单的修复方案,任选其一就行:

方案1:使用安全导航操作符(?.)

在访问required属性前加上安全导航符,确保只有当errors存在时才会去读取它的属性:

<div class="alert alert-danger" *ngIf="courseCategory.touched && courseCategory.errors?.required">
  Course category is required
</div>

方案2:使用Angular内置的hasError方法(推荐)

Angular的NgModel控件本身提供了hasError()方法来检查特定验证规则,这种方式更直观也更安全,不需要直接操作errors对象:

<div class="alert alert-danger" *ngIf="courseCategory.touched && courseCategory.hasError('required')">
  Course category is required
</div>

另外顺便提一句,你的下拉框初始的空<option value=""></option>设置是对的,这样能确保用户必须主动选择一个分类,符合必填验证的需求。

内容的提问来源于stack exchange,提问作者Alpha Bravo Charlie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 06:13:57