0Pricing
Angular Academy · 课时

自定义验证

实现可靠的自定义验证

自定义验证 是 CoddyKit 上的免费 Angular Academy 课时。 这是第 3 节课,共 3 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Angular Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Angular Academy 课程共包含 3 节课。

Angular 表单中的自定义验证

Angular 表单中的自定义验证

学习如何实现自定义验证器,以确保 Angular 应用中的表单验证健壮可靠。

自定义验证 — 插图 1

什么是自定义验证?

什么是自定义验证?

自定义验证器允许您定义自己的验证逻辑,突破 required 或 minlength 等内置验证器的限制。

创建自定义验证器

创建自定义验证器

自定义验证器是一个简单函数:有效时返回 null,无效时返回一个对象:

function forbiddenNameValidator(control: AbstractControl): { [key: string]: any } | null {
  return control.value === 'admin' ? { 'forbiddenName': true } : null;
}

应用验证器

应用验证器

将自定义验证器应用到表单控件:

this.myForm = new FormGroup({
  username: new FormControl('', [forbiddenNameValidator])
});

显示验证错误

显示验证错误

根据验证状态,在模板中有条件地显示错误消息:

<div *ngIf="myForm.get('username').hasError('forbiddenName')">
  Username 'admin' is not allowed.
</div>

使用验证器指令

使用验证器指令

验证器也可以直接作为指令用于模板驱动表单:

<input name="username" ngModel forbiddenName>

异步验证器

异步验证器

异步验证器允许您执行涉及异步操作的验证,例如检查服务器数据:

username: new FormControl('', null, [asyncValidator])

测试自定义验证器

测试自定义验证器

请始终测试验证器,确保它们在不同场景和边界情况下都能正确运行。

总结

总结

您已学会如何构建和应用自定义验证器,以实现 Angular 中健壮的表单验证。做得非常好!

自定义验证 — 插图 10

常见问题解答

「自定义验证」课时是免费的吗?

是的 — 「自定义验证」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Angular Academy 课程的其余内容,请升级到 CoddyKit PRO。 Angular Academy 课程共包含 3 节课。

「自定义验证」这节课中我会学到什么?

实现可靠的自定义验证 你通过在浏览器中直接运行的动手代码来练习 Angular Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Angular Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Angular Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 3 节。

「自定义验证」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Angular Academy 课中编写并运行代码吗?

能。每节 Angular Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 模板驱动表单
  2. 响应式表单
  3. 自定义验证
← 返回 Angular Academy