表单中的重要概念
1: FormControl:表单控件,封装了表单中的输入,并提供了一些可供操纵的对象
2: Validator:验证器,对表单的输入根据自己的需要添加一些限制
3: Observer:观察者,监听表单的变化,并作出相应的回应
两个基础的表单对象
FormControl:单一的输入字段,封装了字段的值和状态,提供了一系列的公共API;获取value时,会收到一个“键值对”结构的对象。
FormGroup:为一组FormControl提供总包接口管理多个FormControl,也提供了一系列公共的API。
FormControl和FormGroup都继承自同一个祖先AbstractControl。
两种表单
Template Driven Forms:模板驱动式表单
Reactive Forms:响应式表单
Angular中支持的内建validators有:
required:设置表单控件值是非空的
-
email:设置表单控件值的格式时email
-
minlength:设置表单控件值的最小长度
-
maxlength:设置表单控件值的最大长度
-
pattern:设置表单控件的值需匹配pattern对应的模式
通过对象的errors属性来获取对应验证规则的验证状态。
表单控件的六种状态:
- valid - 表单控件有效
- invalid
- pristine - 表单控件值未改变
- dirty - 表单控件值已改变
- touched - 表单控件已被访问过
- untouched - 表单控件未被访问