详解AngularJS中的表单验证(推荐)

前端之家收集整理的这篇文章主要介绍了详解AngularJS中的表单验证(推荐)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证

1.使用angularjs的表单验证

正则式验证

只需要配置一个正则式,很方便的完成验证,理论上所有的验证都可以用正则式完成

required ng-pattern="mobileRegx"/> required">*手机号不能为空

数字

设置input的type=number即可

required">*请预估时间

邮箱

URL

效果

效果是实时的,很带感

2.使用ngMessages验证表单

相对于上面的每个验证都要自己写代码判断,ngMessages提供了一种更为简洁的方式

Enter your name:
myForm.myName.$error = {{ myForm.myName.$error | json }}

简直是第二次解放啊。。。

2.动态生成的表单的验证

如果你有一部分form的内容是动态生成的,数量和名字都不确定的时候,该如何验证这些生成的元素呢?其实维护一个动态的form本来就是个问题。但是在angular中,只需要记住一点:准备好你的数据,其他的交给angular。像下面这个例子,你只需要维护好一个数组,然后利用ng-repeat就可以快速的呈现到页面上。

其实动态的form和一般的form验证都是一致的,只是动态的form需要使用myForm[inout_name].$error的形式访问

{{sta.status_name}} 负责人
required">*请选择负责人

3. 必填项加亮显

有些表单我们不希望粗暴的在下面添加文字信息提示验证,而是希望更简洁的方式,如:加亮边框,突出显示

需要做的只是在required验证没通过的时候添加class,改变元素的样式即可

required maxlength="50" type="text" class="form-control" placeholder="手机号或邮箱" ng-model="account.user_name" ng-class="{warn:loginForm.$submitted && loginForm.user_name.$error.required}">
required type="password" maxlength="50" placeholder="密码" ng-model="account.password" ng-class="{'form-control':1,warn:loginForm.$submitted && loginForm.password.$error.required}">
.warn { border-color: #f78d8d !important; outline: 0 !important; -webkit-Box-shadow: inset 0 1px 1px rgba(0,.075),0 0 8px rgb(239,154,154) !important; Box-shadow: inset 0 1px 1px rgba(0,0 0 8px rgba(239,154) !important; }

以上所述是小编给大家介绍的详解AngularJS中的表单验证。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

猜你在找的JavaScript相关文章