AngularJS自带了很多验证,什么必填,最大长度,最小长度...,这里记录几个有用的正则式验证
1.使用angularjs的表单验证
正则式验证
只需要配置一个正则式,很方便的完成验证,理论上所有的验证都可以用正则式完成
required ng-pattern="mobileRegx"/>
required">*手机号不能为空
@H_404_14@
@H_404_14@
数字
设置input的type=number即可
@H_404_14@
required">*请预估时间
@H_404_14@
@H_404_14@
邮箱
@H_404_14@URL
@H_404_14@效果是实时的,很带感
2.使用ngMessages验证表单
相对于上面的每个验证都要自己写代码判断,ngMessages提供了一种更为简洁的方式
Enter your name:
myForm.myName.$error = {{ myForm.myName.$error | json }}
required">You did not enter a field@H_404_14@
404_14@
404_14@
@H_404_14@
@H_404_14@
简直是第二次解放啊。。。
2.动态生成的表单的验证
如果你有一部分form的内容是动态生成的,数量和名字都不确定的时候,该如何验证这些生成的元素呢?其实维护一个动态的form本来就是个问题。但是在angular中,只需要记住一点:准备好你的数据,其他的交给angular。像下面这个例子,你只需要维护好一个数组,然后利用ng-repeat就可以快速的呈现到页面上。
其实动态的form和一般的form验证都是一致的,只是动态的form需要使用myForm[inout_name].$error的形式访问
{{sta.status_name}} 负责人
required">*请选择负责人
@H_404_14@
@H_404_14@
@H_404_14@
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}">
@H_404_14@
required type="password" maxlength="50" placeholder="密码" ng-model="account.password" ng-class="{'form-control':1,warn:loginForm.$submitted && loginForm.password.$error.required}">
@H_404_14@
.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;
}
@H_404_14@
以上所述是小编给大家介绍的详解AngularJS中的表单验证。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持。
原文链接:https://www.f2er.com/js/44407.html