常用的表单验证
1.必须字段
html5特性 增加required

<input type="text" required /> 

2.最小长度和最大长度

<input type="text" ng-minlength="5" />
<input type="text" ng-maxlength="20" />

3.模式匹配——正则表达式

<input type="text" ng-pattern="/[a-zA-Z]/" /> 

4.邮件模式 将type设置为email

<input type="email" name="email" ng-model="user.email" /> 

5.数字 将type设置为number

<input type="number" name="age" ng-model="user.age" /> 

6.url 将type设置为url

<input type="url" name="homepage" ng-model="user.facebook_url" />

不常用(以下属性在form表单中)

1.屏蔽对表单的验证
novalidate
2.未修改过的表单 bool属性 true表示已修改过
formName.inputFieldName.$pristine;
3.已修改过的表单 bool属性
formName.inputFieldName.$dirty
4.通过表单验证 bool属性
formName.inputFieldName.$valid
5.未通过表单验证 bool属性
formName.inputFieldName.$invalid
例:

 <form role="form" name="myForm" ng-submit="submitForm(myForm.$valid)" class="form-horizontal" novalidate>
<div class="form-group has-feedback">
<div class="col-md-4">
<label for="name">1.必填项</label>
</div>
<div class="col-md-8">
<input class="form-control" id="name" name="name" type="text" required ng-model='user.name' />
<span class="glyphicon glyphicon-ok form-control-feedback"
ng-show="myForm.name.$dirty && myForm.name.$valid"></span>
</div>
</div>
</form>

$pristine 【没修改】:{{myForm.name.$pristine }}&nbsp;&nbsp;
$dirty【修改过】:{{myForm.name.$dirty}}&nbsp;&nbsp;
$invalid【验证失败】:{{myForm.name.$invalid}}&nbsp;&nbsp;
$invalid【验证成功】:{{myForm.name.$valid}}&nbsp;&nbsp;
required:{{myForm.name.$error.required}}&nbsp;&nbsp;

ngMessages对表单进行优化
1.首先我们需引入angular.module('myApp', ['ngMessages']);
ng是通过$error来监视模型变化的,$error中会给出详细的错误信息
例子:

 <form role="form" name="myForm" class="form-horizontal" novalidate>
<div class="form-group">
<div class="col-md-2">
用户名
</div>
<div class="col-md-10">
<input type="text" placeholder="ng-Messages测试" name="name" ng-model="username.name"
ng-minlength=3 ng-maxlength=20 required />
<hr />
$error:{{myForm.name.$error}}
<hr />
<div ng-messages="myForm.name.$error">
<div ng-message="required">必填项</div>
<div ng-message="minlength">字符太短小于3</div>
<div ng-message="maxlength">字符太长大于20</div>
</div>
</div>
</div>
</form>

2.错误提示复用
将其作为模板,指定的路径由ng自动添加,这里需要使用到ng-messages-include命令;
首先将错误放到一静态页面error.html

 <div ng-message="required">必填项</div>
<div ng-message="email">邮件格式不对</div>
<div ng-message="minlength">字符太短小于3</div>
<div ng-message="maxlength">字符太长大于20</div>
<!--在所用到的html页面中用ng-messages-include引入相应的静态页面-->
<div ng-messages="myForm.name.$error" ng-messages-multiple ng-messages-include="@Url.Content('~/Content/template/error.html)"></div>

 

最新文章

  1. nrm NPM源管理工具
  2. 修改注册表 去除Windows快捷方式图标小箭头
  3. iOS 模拟器键盘弹出以及中文输入
  4. Reactivecocoa初级使用
  5. 怎么样cocos2d-x正在使用ECS(实体-包裹-制)建筑方法来开发一款游戏?
  6. 微软的权限框架Asp.Net Identity
  7. 将缓冲区的数字字符串转化成BCD码数据_INT PubNumericToBCDStr(_UCHR *pcNStr, _INT iNLen, _UCHR *pcBCDStr)
  8. Simple prefix compression
  9. 搭建和测试 Redis 主备和集群
  10. ELK学习笔记(五)简单搜索和DSL查询
  11. 记录Nginx模块开发
  12. LJN数理化生信奥队自传
  13. nopcommerce 4.1 core 学习 增加商城配置属性
  14. python 链表表达式 map、filter易读版
  15. Loogn.OrmLite文档
  16. Centos7部署kubelet(六)
  17. IDEA 码云 安装
  18. JS中数组那些事~
  19. IE6/IE7不支持first-child的解决办法
  20. unity3d控制主摄像头移动

热门文章

  1. Android-获取外置SDcard路径
  2. Oracle函数题
  3. AppScan修复漏洞:启用不安全的HTTP方法
  4. 常用的Git命令
  5. HTML5 application cache
  6. 【ImageMagick】Unix Windows 源码安装
  7. (转)在Mac下使用OpenCV, 在Xcode下使用OpenCV (非常基础,详细)
  8. Shell函数参数
  9. Spring技术内幕——深入解析Spring架构与设计原理(一)IOC实现原理
  10. win7下jdk安装环境变量配置