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 相关文章推荐
避免回车键导致的页面无意义刷新的解决方法
Apr 12 Javascript
jQuery简易图片放大特效示例代码
Jun 09 Javascript
Javascript MVC框架Backbone.js详解
Sep 18 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 Javascript
jQuery简单动画变换效果实例分析
Jul 04 Javascript
JavaScript的for循环中嵌套一个点击事件的问题解决
Mar 03 Javascript
vue+axios实现登录拦截的实例代码
May 22 Javascript
vuex的简单使用教程
Feb 02 Javascript
如何去除富文本中的html标签及vue、react、微信小程序中的过滤器
Nov 21 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
Jan 24 Javascript
vue动态绑定class的几种常用方式小结
May 21 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
Sep 20 Javascript
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
linux使用crontab实现PHP执行计划定时任务
2014/05/10 PHP
php微信开发之带参数二维码的使用
2016/08/03 PHP
PHP实现多关键字加亮功能
2016/10/21 PHP
一文看懂PHP进程管理器php-fpm
2020/06/01 PHP
解决FLASH需要点击激活的代码
2006/12/20 Javascript
JavaScript 对象、函数和继承
2009/07/07 Javascript
JS与框架页的操作代码
2010/01/17 Javascript
javascript窗口宽高,鼠标位置,滚动高度(详细解析)
2013/11/18 Javascript
jquery实现LED广告牌旋转系统图片切换效果代码分享
2015/08/26 Javascript
jQuery插件支持同一页面被多次调用
2016/02/14 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
浅谈angularjs module返回对象的坑(推荐)
2016/10/21 Javascript
浅谈JavaScript作用域和闭包
2017/09/18 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
Vue.extend实现挂载到实例上的方法
2019/05/01 Javascript
微信小程序中网络请求缓存的解决方法
2019/12/29 Javascript
手机浏览器唤起微信分享(JS)
2020/10/11 Javascript
[31:33]2014 DOTA2国际邀请赛中国区预选赛 TongFu VS DT 第一场
2014/05/23 DOTA
[01:45]亚洲邀请赛互动指南虚拟物品介绍
2015/01/30 DOTA
[58:42]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第一局
2016/02/27 DOTA
python实现的希尔排序算法实例
2015/07/01 Python
将Python代码打包为jar软件的简单方法
2015/08/04 Python
Linux-ubuntu16.04 Python3.5配置OpenCV3.2的方法
2018/04/02 Python
Python绘制股票移动均线的实例
2019/08/24 Python
python处理document文档保留原样式
2019/09/23 Python
python opencv把一张图片嵌入(叠加)到另一张图片上的实现代码
2020/06/11 Python
HTML5地理定位实例
2014/10/15 HTML / CSS
美国独家设计师眼镜在线光学商店:Glasses Gallery
2017/12/28 全球购物
家长给孩子的评语
2014/01/30 职场文书
你的创业计划书怎样才能打动风投
2014/02/06 职场文书
离婚协议书的范本
2015/01/27 职场文书
三八妇女节新闻稿
2015/07/17 职场文书
《伯牙绝弦》教学反思
2016/02/16 职场文书
提升Nginx性能的一些建议
2021/03/31 Servers
Python中requests库的用法详解
2022/06/05 Python
Java Spring读取和存储详细操作
2022/08/05 Java/Android