使用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 相关文章推荐
jquery向.ashx文件post中文乱码问题的解决方法
Mar 28 Javascript
JavaScript面向对象之Prototypes和继承
Jul 12 Javascript
浅谈 javascript 事件处理
Jan 04 Javascript
JavaScript和HTML DOM的区别与联系及Javascript和DOM的关系
Nov 15 Javascript
jQuery的层级查找方式分析
Jun 16 Javascript
Vue.js实现价格计算器功能
Mar 30 Javascript
简单谈谈关于Angular Cli打包的事
Sep 05 Javascript
使用JS中的Replace()方法遇到的问题小结
Oct 20 Javascript
AngularJS 实现购物车全选反选功能
Oct 24 Javascript
js中如何完美的解析数据
Mar 18 Javascript
微信小程序tabBar 返回tabBar不刷新页面
Jul 25 Javascript
JSON获取属性值方法代码实例
Jun 30 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
用Zend Encode编写开发PHP程序
2010/02/21 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
学习ExtJS TextField常用方法
2009/10/07 Javascript
Jquery 的outerHeight方法使用介绍
2013/09/11 Javascript
在百度知道团队中快速审批新成员的js脚本
2014/02/02 Javascript
详谈JavaScript内存泄漏
2014/11/14 Javascript
jquery复选框多选赋值给文本框的方法
2015/01/27 Javascript
JavaScript中的普通函数与构造函数比较
2015/04/07 Javascript
js实现改进的仿蓝色论坛导航菜单效果代码
2015/09/06 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
总结Node.js中的一些错误类型
2016/08/15 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
2016/12/02 Javascript
Javascript实现倒计时时差效果
2017/05/18 Javascript
Vue.js devtool插件安装后无法使用的解决办法
2017/11/27 Javascript
chosen实现省市区三级联动
2018/08/16 Javascript
对angular 监控数据模型变化的事件方法$watch详解
2018/10/09 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
jQuery实现文本显示一段时间后隐藏的方法分析
2019/06/20 jQuery
vue-cli 关闭热更新操作
2020/09/18 Javascript
从表单校验看JavaScript策略模式的使用详解
2020/10/17 Javascript
Python合并两个字典的常用方法与效率比较
2015/06/17 Python
python实现在cmd窗口显示彩色文字
2019/06/24 Python
python列表推导式入门学习解析
2019/12/02 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
编译 pycaffe时报错:fatal error: numpy/arrayobject.h没有那个文件或目录
2020/11/29 Python
华为俄罗斯官方网上商城:购买Huawei手机和平板
2017/04/21 全球购物
主要的Ajax框架都有什么
2013/11/14 面试题
生态学毕业生自荐信
2013/10/27 职场文书
实习单位接收函模板
2014/01/10 职场文书
七年级英语教学反思
2014/01/15 职场文书
英语教学随笔感言
2014/02/20 职场文书
公司开业庆典主持词
2014/03/21 职场文书
公司廉洁自律承诺书
2014/03/27 职场文书
群众路线自查自纠工作情况报告
2014/10/28 职场文书
小学六年级班主任工作经验交流材料
2015/11/02 职场文书