1、验证器的状态
dirty:修改了表单的值
touched:表单元素失去焦点
valid:验证器返回null,表明输入验证通过
invalid:验证器返回了一个验证错误对象,表明输入验证拒绝
pendding:在异步验证时加载数据
pristine:初始状态
untouched:未激活过
submitted:点击提交过
2、在响应式表单中验证输入
a、在响应式表单中可以通过单个formControl实例或者getter函数访问formGroup对象中的某个formControl实例的方式来访问表单控件的相关信息以及操作
b、在响应式表单中通过在创建表单数据模型时向formControl构造器函数传入第二个参数来定义验证器函数(在响应式表单中由于是在组件类中添加的,因此采用的是函数形式的验证器)
3、在模板驱动表单中验证输入
a、在模板驱动型表单中可以通过导出ngModel到局部模板变量中,使用该ngModel创建的formControl实例来操作其绑定的表单元素的相关信息,如:#myModel='ngModel'
b、在模板驱动型表单中通过指令的方式添加验证器,如:
<input required minlength="3" [(ngModel)]="name"></input>
注意:其中的required、minlength都是angular内置的验证器,对应着:RequiredValidator、MinlengthValidator,都是NG_VALIDATORS内置验证器列表提供者的内容