使用AngularJS对表单提交内容进行验证的操作方法


Posted in Javascript onJuly 12, 2017

AngularJS是一款优秀的前端JS框架,已经被用于Google的多款产品当中。它有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等……使用它可以大大减少书写代码的工作量,但和Jquery不同,使用AngularJS有一定的难度,因此今天我将介绍以下怎样使用AngularJS来对表单的提交内容进行验证。

AngularJS对表单中常用的验证操作

$dirty 表单有填写记录
$valid 字段内容合法的
$invalid 字段内容是非法的
$pristine 表单没有填写记录
$error 表单验证不通过的错误信息

1.相关插件的导入:AngularJS和Jquery一样,是一种由程序员用js编写好然后封装起来的js插件,因此在使用之前要用以下代码来导入它。

<script src="libs/angular.js"></script>

注:该js插件最好放在body之后,自己写的js代码则放在AngularJS之后防止产生错误。

2.在导入完AngularJS插件之后,我们首先要在body中创建一个form表单,用于接下来的操作,然后在表单上或者body上加上ng-app=""属性来确定AngularJS的作用域,一般

推荐加在body上。

<body ng-app="app" ng-controller="ctrl"></body>

注:ng-controller="ctrl"用于设置控制器。

3.给form表单和input的name属性命名,给form及input设置name后会将form表单信息默认绑定到$scope作用域中,故可以使用formName.inputName.$验证操作 得到验证结果。

<form class="form-horizontal" name="myForm" novalidate>
  <input type="text" name="name" >
  <input type="email" name="mail">
  <input type="password" name="pwd" >
</form>

novalidata用于禁止h5自带的表单验证,防止多余影响。

例如:

myForm.text.$dirty="true";表单被填写过
myForm.text.$invalid"true";表单输入不合法
myForm.text.$error.required="true";表单必填但未填。

4.给input加上对应的验证:

<input type="text" name="name" ng-minlength="4" ng-maxlength="10" required ng-class="{erro:myForm.name.$invalid&&myForm.name.$dirty}"/>
<input type="email" name="mail" required />
<input type="password" name="pwd" ng-model="user.pwd" pattern="^\w{6,18}$"/>

注:

以上代码对text设置了最小长度4,最大长度10,必填的验证信息,

对email则使用了email自带验证,增加了必填要求,

对password则是设置了正则验证要求是6到18位的字母数字下划线。

5.给提交按钮加上ng-disabled="myForm.$dirty&&myForm.$invalid"属性在表单输入不合法时将按钮禁用来阻止表单内容提交。

注:myForm.$dirty&&myForm.$invalid表示在表单有输入的情况下输入错误。

以上步骤完成之后表单的验证就完成了,也可以加上span的ng-show="myForm.name.$invalid&&myForm.name.$dirty"属性来设置在不同错误时出现不同的提示信息,这样,一个可以验证是否提交的表单就完成了。

以上所述是小编给大家介绍的使用AngularJS对表单提交内容进行验证的操作方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JAVASCRIPT IE 与 FF中兼容问题小结
Feb 18 Javascript
JavaScript null和undefined区别分析
Oct 14 Javascript
jquery div 居中技巧应用介绍
Nov 24 Javascript
封装了一个支持匿名函数的Javascript事件监听器
Jun 05 Javascript
JQuery判断radio(单选框)是否选中和获取选中值方法总结
Apr 15 Javascript
javascript中Date对象应用之简易日历实现
Jul 12 Javascript
jQuery获取Table某列的值(推荐)
Mar 03 Javascript
vue.js路由跳转详解
Aug 28 Javascript
在vue项目中,将juery设置为全局变量的方法
Sep 25 Javascript
Vue自定义属性实例分析
Feb 23 Javascript
详解Vue demo实现商品列表的展示
May 07 Javascript
vue中三级导航的菜单权限控制
Mar 31 Vue.js
JQuery EasyUI的一些常用组件
Jul 12 #jQuery
JavaScript严格模式下关于this的几种指向详解
Jul 12 #Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
Jul 12 #jQuery
详解如何用webpack打包一个网站应用项目
Jul 12 #Javascript
利用node.js实现自动生成前端项目组件的方法详解
Jul 12 #Javascript
AngularJS实现select的ng-options功能示例
Jul 12 #Javascript
JavaScript基于activexobject连接远程数据库SQL Server 2014的方法
Jul 12 #Javascript
You might like
PHP如何编写易读的代码
2007/07/10 PHP
PHP zlib扩展实现页面GZIP压缩输出
2010/06/17 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
详解使用php调用微信接口上传永久素材
2017/04/11 PHP
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
重构Javascript代码示例(重构前后对比)
2013/01/23 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
2015/02/02 Javascript
纯javascript移动优先的幻灯片效果
2015/11/02 Javascript
jQuery Validation Plugin验证插件手动验证
2016/01/26 Javascript
jQuery遍历json的方法(推荐)
2016/06/12 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
详解javascript获取url信息的常见方法
2016/12/19 Javascript
详解Angular 4 表单快速入门
2017/06/05 Javascript
Vue框架TypeScript装饰器使用指南小结
2019/02/18 Javascript
微信小程序的线程架构【推荐】
2019/05/14 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
JavaScript 实现下雪特效的示例代码
2020/09/09 Javascript
[44:21]Ti4 循环赛第四日 附加赛NEWBEE vs LGD
2014/07/13 DOTA
python三大神器之fabric使用教程
2019/06/10 Python
OpenCV模板匹配matchTemplate的实现
2019/10/18 Python
python利用JMeter测试Tornado的多线程
2020/01/12 Python
Python绘图之二维图与三维图详解
2020/08/04 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
美国杂志订阅折扣与优惠网站:Magazines.com
2016/08/31 全球购物
学生档案自我鉴定
2013/10/07 职场文书
简短的公司员工自我评价分享
2013/11/13 职场文书
关于打架的检讨书
2014/01/17 职场文书
卫生安全检查制度
2014/02/04 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
党员干部民主生活会议批评与自我批评材料
2014/09/20 职场文书
工商局所长四风自我剖析及整改措施
2014/10/26 职场文书
大学生简历自我评价2015
2015/03/03 职场文书
银行求职信怎么写
2019/06/20 职场文书
Windows环境下实现批量执行Sql文件
2021/10/05 SQL Server
Python实现GIF动图以及视频卡通化详解
2021/12/06 Python