其实做的项目,表单验证不太多,但是会展现很多表格。
听了阿里懒懒交流会里面的AngularJS 表单验证,做个总结吧:
问题:
数据绑定,遍历验证,错误信息显示,异步校验,拦截
令原生HTML5验证失效:
form/ng-form novalidate
访问表单的属性:
form-name.angular-property form-name.input-name.angular-property
设置提交按钮的disabled属性
<button ng-disabled="form.$invalid"></button>
form不合法的时候禁掉
显示错误信息
ng-show=”“
想要红色 ng-class=”{‘has-error’: form.email.invaild && form.email.dirty}”
自定义的验证组件:
写自定义指令
如何分别验证表单中每个输入项
(ngForm——嵌套的表单)
formName.fieldName.$valida.每个fieldName分别在不同的formName中
b.每个fieldName起个不同的名字ngModel.$addControl
不足:键盘处理,位置方式不够灵活,常用验证组件,大量相似的错误展示逻辑