使用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 Discuz代码中的msn聊天小功能
May 25 Javascript
jquery $.each() 使用小探
Aug 23 Javascript
js中opener与parent的区别详细解析
Jan 14 Javascript
javascript实现滚动效果的数字时钟实例
Jul 21 Javascript
AngularJS过滤器详解及示例代码
Aug 16 Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 Javascript
JavaScript条件判断_动力节点Java学院整理
Jun 26 Javascript
C#实现将一个字符转换为整数
Dec 12 Javascript
JavaScript实现一个带AI的井字棋游戏源码
May 21 Javascript
vue.js响应式原理解析与实现
Jun 22 Javascript
Vue  webpack 项目自动打包压缩成zip文件的方法
Jul 24 Javascript
vue 检测用户上传图片宽高的方法
Feb 06 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
一键删除顽固的空文件夹 软件下载
2007/01/26 PHP
PHP采集腾讯微博的实现代码
2012/01/19 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
在html页面中包含共享页面的方法
2008/10/24 Javascript
js下通过prototype扩展实现indexOf的代码
2010/12/08 Javascript
ajax 同步请求和异步请求的差异分析
2011/07/04 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
编写js扩展方法判断一个数组中是否包含某个元素
2013/11/08 Javascript
理解js回收机制通俗易懂版
2016/02/29 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
select隐藏选中值对应的id,显示其它id的简单实现方法
2016/08/25 Javascript
JS新包管理工具yarn和npm的对比与使用入门
2016/12/09 Javascript
详解JS中遍历语法的比较
2017/04/07 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
2019/03/09 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
深入了解JavaScript词法作用域
2020/07/29 Javascript
jQuery编写QQ简易聊天框
2020/08/27 jQuery
[02:03]DOTA2亚洲邀请赛 HGT战队出场宣传片
2015/02/07 DOTA
[53:15]2018DOTA2亚洲邀请赛3月29日 小组赛A组 KG VS OG
2018/03/30 DOTA
linux系统使用python获取cpu信息脚本分享
2014/01/15 Python
python实现apahce网站日志分析示例
2014/04/02 Python
用Python编写简单的微博爬虫
2016/03/04 Python
Python向Excel中插入图片的简单实现方法
2018/04/24 Python
浅谈python脚本设置运行参数的方法
2018/12/03 Python
Python中的pathlib.Path为什么不继承str详解
2019/06/23 Python
Pycharm远程调试原理及具体配置详解
2019/08/08 Python
django 连接数据库 sqlite的例子
2019/08/14 Python
Python3.7安装keras和TensorFlow的教程图解
2020/06/18 Python
Python中的四种交换数值的方法解析
2019/11/18 Python
详解Python直接赋值,深拷贝和浅拷贝
2020/07/09 Python
澳大利亚首屈一指的在线购物目的地:Kogan.com
2017/02/02 全球购物
小饰品店的创业计划书范文
2013/12/28 职场文书
《台湾的蝴蝶谷》教学反思
2014/02/20 职场文书
2019交通安全宣传标语集锦!
2019/06/28 职场文书
django中websocket的具体使用
2022/01/22 Python