angularJS 表单验证

通过angularJS 进行的表单验证需要在表单中设置novalidate属性

novalidate 属性在应用中不是必须的,但是你需要在 AngularJS 表单中使用,用于重写标准的 HTML5 验证。

进行表单验证和验证规则前需要给form、和input设置name属性,为了验证时获取到验证的标签

验证规则:都是boolean

(具体验证规则可以用正则表达式写 在input添加ng-pattern属性)

$dirty:表单有填写记录,是否修改

$valid:填写的字段是合法的,通过验证

$invalid:填写的是不合法的,未通过

$pristine:表单没有内容,没有被修改

$submitted:是否提交过

例如:

<form  ng-app="myApp"  ng-controller="validateCtrl"
name="myForm" novalidate>

<p>邮箱:
  <input type="email" name="email" ng-model="email" required>
  <span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
  <span ng-show="myForm.email.$error.required">邮箱是必须的。</span>
  <span ng-show="myForm.email.$error.email">非法的邮箱。</span>
  </span>
</p>

</form>

$error对象:当验证不通过时产生,包含了所有未通过验证的规则

有email-pattern-url-time-required-date-week等

$untouched   boolean  是否从未被点击/触摸过    
$touched  boolean    是否失去过焦点
$pristine  boolean    是否从未被修改过
$dirty  boolean  是否被修改过
$valid   boolean   是否所有的验证都验证通过
$invalid    boolean    是否验证未通过
$name  string  表单元素name属性的值

 

posted @ 2017-01-09 14:15  淡若清风过  阅读(559)  评论(0编辑  收藏  举报