AngularJS 输入验证详解及实例代码


Posted in Javascript onJuly 28, 2016

AngularJS 输入验证

AngularJS 表单和控件可以验证输入的数据。

输入验证

在前面的几个章节中,你已经学到关于 AngularJS 表单和控件的知识。

AngularJS 表单和控件可以提供验证功能,并对用户输入的非法数据进行警告。

注意: 客户端的验证不能确保用户输入数据的安全,所以服务端的数据验证也是必须的。

应用代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>

<h2>验证实例</h2>

<form ng-app="myApp" ng-controller="validateCtrl" 
name="myForm" novalidate>

<p>用户名:<br>
<input type="text" name="user" ng-model="user" required>
<span style="color:red" ng-show="myForm.user.$dirty && myForm.user.$invalid">
<span ng-show="myForm.user.$error.required">用户名是必须的。</span>
</span>
</p>

<p>邮箱:<br>
<input type="email" name="email" ng-model="email" required>
<span style="color:red" ng-show="myForm.email.$dirty && myForm.email.$invalid">
<span ng-show="myForm.email.$error.required">邮箱是必须的。</span>
<span ng-show="myForm.email.$error.email">非法的邮箱地址。</span>
</span>
</p>

<p>
<input type="submit"
ng-disabled="myForm.user.$dirty && myForm.user.$invalid || 
myForm.email.$dirty && myForm.email.$invalid">
</p>

</form>

<script>
var app = angular.module('myApp', []);
app.controller('validateCtrl', function($scope) {
 $scope.user = 'John Doe';
 $scope.email = 'john.doe@gmail.com';
});
</script>

</body>
</html>

运行结果:

 验证实例

用户名:

邮箱:

注意: HTML 表单属性 novalidate 用于禁用浏览器默认的验证。

实例解析

AngularJS ng-model 指令用于绑定输入元素到模型中。

模型对象有两个属性: user email

我们使用了 ng-show指令, color:red 在邮件是 $dirty 或 $invalid 才显示。

 

属性 描述
$dirty 表单有填写记录
$valid 字段内容合法的
$invalid 字段内容是非法的
$pristine 表单没有填写记录

 以上就是对AngularJS 输入验证的资料整理,后续继续补充,希望能帮助学习的同学。

Javascript 相关文章推荐
JavaScript实现Sleep函数的代码
Mar 04 Javascript
JQuery 学习笔记 选择器之四
Jul 23 Javascript
select 控制网页内容隐藏于显示的实现代码
May 25 Javascript
document节点对象的获取方式示例介绍
Dec 24 Javascript
使用Node.js为其他程序编写扩展的基本方法
Jun 23 Javascript
jQuery动态创建元素以及追加节点的实现方法
Oct 20 Javascript
JS插件clipboard.js实现一键复制粘贴功能
Dec 04 Javascript
jquery实现垂直无限轮播的方法分析
Jul 16 jQuery
深入浅出vue图片路径的实现
Sep 04 Javascript
vue项目出现页面空白的解决方案
Oct 31 Javascript
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
jquery实用技巧之输入框提示语句
Jul 28 #Javascript
jQuery stop()用法实例详解
Jul 28 #Javascript
AngularJS中的表单简单入门
Jul 28 #Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 #Javascript
浅谈JS正则表达式的RegExp对象和括号的使用
Jul 28 #Javascript
AngularJS 模块详解及简单实例
Jul 28 #Javascript
jQuery制作网页版选项卡
Jul 28 #Javascript
You might like
一个完整的PHP类包含的七种语法说明
2015/06/04 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
20个非常棒的 jQuery 幻灯片插件和教程分享
2011/08/23 Javascript
js内存泄露的几种情况详细探讨
2013/05/31 Javascript
jQuery的deferred对象详解
2014/11/12 Javascript
vue-router跳转页面的方法
2017/02/09 Javascript
Vue.js -- 过滤器使用总结
2017/02/18 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
JS中验证整数和小数的正则表达式
2018/10/08 Javascript
Vue在 Nuxt.js 中重定向 404 页面的方法
2019/04/23 Javascript
jQuery Migrate 插件用法实例详解
2019/05/22 jQuery
Node.js安装详细步骤教程(Windows版)详解
2019/09/01 Javascript
vue h5移动端禁止缩放代码
2019/10/28 Javascript
[00:56]2014DOTA2国际邀请赛 DK、iG 赛前探访
2014/07/10 DOTA
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
python执行shell获取硬件参数写入mysql的方法
2014/12/29 Python
Python 爬虫学习笔记之正则表达式
2016/09/21 Python
python 统计代码行数简单实例
2017/05/04 Python
python实现单向链表详解
2018/02/08 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
python实现udp聊天窗口
2020/03/31 Python
Python库skimage绘制二值图像代码实例
2020/04/10 Python
Python常用数据分析模块原理解析
2020/07/20 Python
python 下载文件的多种方法汇总
2020/11/17 Python
英国打印机墨水和碳粉商店:Printerinks
2017/06/30 全球购物
Java的五个基础面试题
2016/02/26 面试题
计算机专业毕业生自荐信
2013/12/31 职场文书
白酒市场营销方案
2014/02/25 职场文书
机械制造毕业生求职信
2014/03/03 职场文书
投资意向书
2014/07/30 职场文书
2015年秋季小班开学寄语
2015/05/27 职场文书
升级 Win11 还是坚守 Win10?微软 Win11 新系统缺失功能大盘点
2022/04/05 数码科技