使用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 相关文章推荐
IE本地存储userdata的一个bug说明
Jul 01 Javascript
JS实现将人民币金额转换为大写的示例代码
Feb 13 Javascript
js监控IE火狐浏览器关闭、刷新、回退、前进事件
Jul 23 Javascript
node.js使用cluster实现多进程
Mar 17 Javascript
Vue通过input筛选数据
Oct 26 Javascript
详解cordova打包成webapp的方法
Oct 18 Javascript
详解基于node.js的脚手架工具开发经历
Jan 28 Javascript
Vue 引入AMap高德地图的实现代码
Apr 29 Javascript
js贪心算法 钱币找零问题代码实例
Sep 11 Javascript
微信小程序授权登陆及每次检查是否授权实例代码
Sep 18 Javascript
JavaScript 严格模式(use strict)用法实例分析
Mar 04 Javascript
JS字符串和数组如何实现相互转化
Jul 02 Javascript
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
全国FM电台频率大全 - 15 山东省
2020/03/11 无线电
山进SANGEAN ATS-909X电路分析
2021/03/02 无线电
如何提高MYSQL数据库的查询统计速度 select 索引应用
2007/04/11 PHP
利用static实现表格的颜色隔行显示的代码
2007/09/02 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
php实现httpclient类示例
2014/04/08 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
thinkPHP下ueditor的使用方法详解
2015/12/26 PHP
php实现微信扫码自动登陆与注册功能
2016/09/22 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
三个思路解决laravel上传文件报错:413 Request Entity Too Large问题
2017/11/13 PHP
DOM相关内容速查手册
2007/02/07 Javascript
兼容多浏览器的iframe自适应高度(ie8 、谷歌浏览器4.0和 firefox3.5.3)
2009/11/04 Javascript
JavaScript编写连连看小游戏
2015/07/07 Javascript
关于在Servelet中如何获取当前时间的操作方法
2016/06/28 Javascript
基于Bootstrap的Metronic框架实现页面链接收藏夹功能
2016/08/29 Javascript
vue列表数据发生变化指令没有更新问题及解决方法
2020/01/16 Javascript
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
python处理csv数据的方法
2015/03/11 Python
Python使用PDFMiner解析PDF代码实例
2017/03/27 Python
获取python文件扩展名和文件名方法
2018/02/02 Python
用python实现对比两张图片的不同
2018/02/05 Python
python 按钮点击关闭窗口的实现
2020/03/04 Python
Python同时处理多个异常的方法
2020/07/28 Python
Python中logger日志模块详解
2020/08/04 Python
python使用matplotlib:subplot绘制多个子图的示例
2020/09/24 Python
AmazeUI导航的示例代码
2020/08/14 HTML / CSS
加拿大领先的时尚和体育零售商:Sporting Life
2019/12/15 全球购物
数据库方面面试题
2012/04/22 面试题
服装设计专业毕业生推荐信
2013/11/09 职场文书
心得体会范文
2014/01/04 职场文书
2014年图书室工作总结
2014/12/09 职场文书
公务员政审材料
2014/12/23 职场文书
写给同学的新学期寄语
2015/02/27 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
运动会开幕式主持词
2015/07/01 职场文书