1什么是模板验证?顾名思义,模板验证就是通过angularjs的一些属性在HTML标签中进行验证。为了向模板驱动的表单添加验证机制,您需要添加一些验证属性。就像一个原生的HTML表单验证器。Angular将使用指令将这些指令与验证相匹配。每当表单控件中的值发生变化时,Angular将执行验证并生成验证错误列表(对应于INVALID状态)或null(对应于VALID状态)。2Example这是我写的一个小demo。这种验证方式不需要写js代码,也不需要在标签中使用angularjs的属性。其他地方的angularforms库就不用介绍了,因为ionic默认会自动导入。ahdasidhasidashdudi
记住密码login注册忘记密码{{promptMessage}}用户名必须为6到10个字符密码必须是6-16个字符运行效果如下:可以看到3个核心属性[(ngModel)]="user.username"的作用是绑定我们在ts文件中定义的变量#username="ngModel"是将我们绑定的model的值命名为username,成为一个FormControl对象。无需担心下一节发言。required验证为空maxlength="10"最大长度minlength="6"最小长度。这些都是我们需要验证的条件。*ngIf="username.invalid&&(username.dirty||username.touched)"*ngIf标签等于true,显示错误信息时,username.invalid表示验证无效,返回true,和username。dirty判断这个参数是否被改过值,username.touched表示表单是否被触摸过。作用是当表单页面刚打开的时候,里面的参数都是空的,但是不需要显示错误信息。进入model.d.ts文件可以看到部分源码如下**为了获得此状态,控件必须已通过其所有*验证检查。*/只读有效:布尔值;/***当一个控件的`status===INVALID`时,该控件是`invalid`。**为了具有此状态,控件必须未通过*至少其验证检查之一。*/只读无效:布尔值;valid属性表示参数值校验结果为false,如果结果不通过,则为true。invalid表示参数值校验失败则为true,通过则为false。/***如果用户更改了UI中的值,则控件是“脏的”。**请注意,以编程方式更改控件的值将**不会*将其标记为脏。*/readonlydirty:boolean;/***一旦用户在控件上触发*`blur`事件,控件就会被标记为`touched`。*/readonlytouched:boolean;dirty表示你是否没有改变这个参数的值