本文我们将介绍 Reactive Form 表单验证的相关知识,具体内容如下:
基础知识
内建验证规则
Angular 提供了一些内建的 validators,我们可以在 Template-Driven 或 Reactive 表单中使用它们。
目前 Angular 支持的内建 validators 如下:
- required - 设置表单控件值是非空的。
- email - 设置表单控件值的格式是 email。
- minlength - 设置表单控件值的最小长度。
- maxlength - 设置表单控件值的最大长度。
- pattern - 设置表单控件的值需匹配 pattern 对应的模式。
示例
动态调整验证规则
myControl.clearValidators();
myControl.updateValueAndValidity();
自定义验证器
自定义验证器 (支持参数)
跨字段验证
emailMatcher
return null;
}
return emailControl.value === confirmControl.value ? null : { 'match': true };
}
emailGroup
表单验证
表单的内建验证规则,前面章节已经介绍过了,接下来我们来介绍在表单中如何 "动态调整验证规则" 。
动态调整验证规则
为了演示 "动态调整验证规则" 的功能,我新增了两个控件:
当用户开启手机登录功能,手机号码对应控件的验证规则,必须是必填且格式为合法的手机号码。当用户不开启手机登录功能时,手机号码对应控件将不是必填的。