AngularJs的表单验证
2015-08-17 14:32
661 查看
如果你想要屏蔽浏览器对表单的默认验证行为,可以在表单元素上添加novalidate标记.
上面的代码,你可以删去或添加上novalidate,输入错误的email,会有不同的提示.
一.表单指令.
1.必填项:required.
2.最小长度:ng-minlength='{number}'
2.最小长度:ng-maxlength='{number}'
4.模式匹配:ng-pattern="/正则表达式/"
二:表单中的变量(formName.inputFiledName.property)
未修改的表单:未修改,值为true.否则为false. formName.inputFiledName.$pristine
修改过的表单:只要修改过了,不管验证是否通过,就是true. formName.inputFiledName.$dirty
合法的表单:判断表单内容是否合法,合法就是true. .formName.inputFiledName.$valid
不合法表单:如果不合法,值为true .formName.inputFiledName.$invalid
错误对象.包含当前表单的所有验证内容,以及他们是否合法的信息. .formName.inputFiledName.$error
三:css样式:
AngularJs处理表单时,会根据表单当前的状态添加一些css类.
.ng-pristine{} 未修改的样式.
.ng-dirty{} 修改过后的样式
.ng-valid{} 验证合法时
.ng-invalid{} 验证不合法时.
把这段代码加入到上面的例子,就能看到效果了.
<form name="form" novalidate> <label name="email">Your Email</label> <input type="email" name="email" ng-model="email" placeholder="Email Address" /> </form>
上面的代码,你可以删去或添加上novalidate,输入错误的email,会有不同的提示.
一.表单指令.
1.必填项:required.
2.最小长度:ng-minlength='{number}'
<input type="text" ng-minlength=5 />
2.最小长度:ng-maxlength='{number}'
<input type="text" ng-maxlength=5 />
4.模式匹配:ng-pattern="/正则表达式/"
<input type="text" ng-pattern='[a-zA-Z]' />
二:表单中的变量(formName.inputFiledName.property)
未修改的表单:未修改,值为true.否则为false. formName.inputFiledName.$pristine
修改过的表单:只要修改过了,不管验证是否通过,就是true. formName.inputFiledName.$dirty
合法的表单:判断表单内容是否合法,合法就是true. .formName.inputFiledName.$valid
不合法表单:如果不合法,值为true .formName.inputFiledName.$invalid
错误对象.包含当前表单的所有验证内容,以及他们是否合法的信息. .formName.inputFiledName.$error
<!DOCTYPE html> <html ng-app="formModel"> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" type="text/css" href="css/bootstrap.css"/> <script type="text/javascript" src="js/angular-1.2.16.js" ></script> </head> <body ng-controller="formCtrl"> <form name="myForm" style="margin: 100px;" ng-submit="submitForm(myForm.$valid)"> 必填项,eamail <input name="personEmail" required="required" type="email" ng-model="person.email" placeholder="必填项,eamail" /> <br /><br />必填项,最小3个字符 <input name="personName" required ng-model="person.name" ng-minlength=3 placeholder="必填项,最小3个字符" /> <br /> <input type="submit" ng-disabled="myForm.$invalid" value="提交"/> </form> <span>myForm.personEmail.$valid:{{myForm.personEmail.$valid}}</span><br /> <span>myForm.personEmail.$error.required:{{myForm.personEmail.$error.required}}</span><br /> <span>myForm.personEmail.$error.email:{{myForm.personEmail.$error.email}}</span><br /> <span>myForm.personEmail.$pristine:{{myForm.personEmail.$pristine}}</span><br /> <span>myForm.personEmail.$error:{{myForm.personEmail.$error}}</span> </body> <script type="text/javascript"> var myModule=angular.module("formModel",[]); myModule.controller("formCtrl",function($scope){ $scope.person={ name:"", email:"" }; $scope.submitForm=function(vailid){ alert(vailid); } }) </script> </html>
三:css样式:
AngularJs处理表单时,会根据表单当前的状态添加一些css类.
.ng-pristine{} 未修改的样式.
.ng-dirty{} 修改过后的样式
.ng-valid{} 验证合法时
.ng-invalid{} 验证不合法时.
.personName.ng-pristine{ border: 1px solid blue; } .personName.ng-dirty{ border: 1px solid yellow; } .personName.ng-invalid{ border: 1px solid red; } .personName.ng-valid{ border: 1px solid green; }
把这段代码加入到上面的例子,就能看到效果了.
相关文章推荐
- 论 Angular的混乱
- angular学习笔记
- 瀑布流在Angularjs中的使用
- AngularJS 路由:ng-route 与 ui-router
- Angularjs中编写指令模版
- mac下 搭建Cordova+ionic+AngularJs开发环境
- AngularJs 入门系列-2 表单验证
- angularjs install for window
- [Angularjs]国际化
- angular-utils-pagination 使用案例
- Angular报错记录
- Angular之路-hello
- uva 12301 - An Angular Puzzle(几何)
- AngularJs学习笔记__6、自定义过滤器,阿拉伯数字金额转汉字金额
- AngularJs学习笔记__5、内置过滤器
- Angular 在洋葱圈的实践与思考
- 以todomvc为例分析knockout、backbone和angularjs
- AngularJs 保存人员信息的方法
- AngularJs应用页面切换优化方案
- AngularJS 教程