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使用activex控件的代码
Jan 27 Javascript
鼠标选择动态改变网页背景颜色的JS代码
Dec 10 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 Javascript
Vue.js每天必学之指令系统与自定义指令
Sep 07 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
Nov 07 Javascript
jquery dataview数据视图插件使用方法
Dec 23 Javascript
jQuery动态追加页面数据以及事件委托详解
May 06 jQuery
一步步教你利用Canvas对图片进行处理
Sep 19 Javascript
layui表格设计以及数据初始化详解
Oct 26 Javascript
Angular8引入百度Echarts进行图表分析的实现代码
Nov 27 Javascript
详解如何修改 node_modules 里的文件
May 22 Javascript
javascript实现一款好看的秒表计时器
Sep 05 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
Terran历史背景
2020/03/14 星际争霸
DEDE采集大师官方留后门的删除办法
2011/01/08 PHP
Prototype使用指南之range.js
2007/01/10 Javascript
javascript模仿msgbox提示效果代码
2008/06/10 Javascript
Jquery 弹出层插件实现代码
2009/10/24 Javascript
用js实现的自定义的对话框的实现代码
2010/03/21 Javascript
利用JavaScript实现新闻滚动效果(实例代码)
2013/11/27 Javascript
javascript读取Xml文件做一个二级联动菜单示例
2014/03/17 Javascript
谈谈jQuery Ajax用法详解
2015/11/27 Javascript
关于js二维数组和多维数组的定义声明(详解)
2016/10/02 Javascript
Bootstrap select实现下拉框多选效果
2016/12/23 Javascript
Angularjs单选改为多选的开发过程及问题解析
2017/02/17 Javascript
Bootstrap modal 多弹窗之叠加显示不出弹窗问题的解决方案
2017/02/23 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
分享vue.js devtools遇到一系列问题
2017/10/24 Javascript
JavaScript事件委托原理与用法实例分析
2018/06/07 Javascript
Vue退出登录时清空缓存的实现
2019/11/12 Javascript
Element-UI+Vue模式使用总结
2020/01/02 Javascript
vue-cli脚手架的.babelrc文件用法说明
2020/09/11 Javascript
python完成FizzBuzzWhizz问题(拉勾网面试题)示例
2014/05/05 Python
python+django+sql学生信息管理后台开发
2018/01/11 Python
Python实现的购物车功能示例
2018/02/11 Python
新手常见6种的python报错及解决方法
2018/03/09 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
python面向对象实现名片管理系统文件版
2019/04/26 Python
图解python全局变量与局部变量相关知识
2019/11/02 Python
python定时任务 sched模块用法实例
2019/11/04 Python
Python基于爬虫实现全网搜索并下载音乐
2021/02/14 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
学术诚信承诺书
2014/05/26 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
大学团日活动新闻稿
2014/09/10 职场文书
党员干部反四风对照检查材料思想汇报
2014/09/14 职场文书
2015年护士长个人工作总结
2015/04/24 职场文书
【海涛dota解说】DCG联赛第一周 LGD VS DH
2022/04/01 DOTA
python pygame 开发五子棋双人对弈
2022/05/02 Python