angularJS 表单验证

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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属性的值

 














以上是关于angularJS 表单验证的主要内容,如果未能解决你的问题,请参考以下文章

AngularJS表单验证

AngularJS复习------表单验证

AngularJS中的表单验证

AngularJs实现表单验证

angularjs表单验证无法应用问题

AngularJS中使用的表单验证