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 表单验证的主要内容,如果未能解决你的问题,请参考以下文章