angularjs集成了常用的表单验证功能,使用它,你会发现非常的方便
novalidate
在form标签上加novalidate,用来关闭浏览器默认form验证行为
css
ng会在dom上加各种css表示状态,我们可以编写对应的css
ng-valid: 有效的
ng-invalid: 无效的
ng-valid-[key]: 由$setValidity产生,有效的值
ng-invalid-[key]: 由$setValidity产生,无效的值
ng-pristine: 数据还没有改变过
ng-dirty: 数据已变脏(已有改变)
ng-touched: 已被触摸过
ng-untouched: 未被触摸过
ng-pending: 未定的($asyncValidators产生)
验证关键词
required 必须的
pattern 正则模式
minlength 最小长度
maxlength 最大长度
min 最小
max 最大
integer 整数
email 电子邮件
示例代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| <form name="loginform" novalidate> <fieldset class="form-group"> <label for="user">username:</label> <input id="user" name="uName" class="form-control" type="text" placeholder="username" ng-model="name" required=""> <div ng-show="loginform.$submitted || loginform.uName.$touched"> <span ng-show="loginform.uName.$error.required" class="text-danger">username is required</span> </div> </fieldset> <fieldset class="form-group"> <label for="pass">password:</label> <input id="pass" name="uPass" type="password" class="form-control" placeholder="password" ng-minlength=8 ng-maxlength=50 ng-model="pass" required> <div ng-show="loginform.$submitted || loginform.uPass.$touched"> <span ng-show="loginform.uPass.$error.required" class="text-danger">password is required</span> <span ng-show="loginform.uPass.$error.minlength" class="text-danger">password is required to be at least 8 characters</span> <span ng-show="loginform.uPass.$error.maxlength" class="text-danger">password cannot be longer than 50 characters</span> </div> </fieldset> <button ui-sref="app.home" ng-disabled="loginform.$invalid" class="btn btn-block btn-primary">login</button> </form>
|
reference angularjs docs
原创文章 欢迎转载但请注明出处。http://beetle2013.github.io/blog/