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 相关文章推荐
SyntaxHighlighter代码加色使用方法
Sep 07 Javascript
jQuery中使用data()方法读取HTML5自定义属性data-*实例
Apr 11 Javascript
jQuery实现可用于博客的动态滑动菜单
Mar 09 Javascript
完美解决JS文件页面加载时的阻塞问题
Dec 18 Javascript
vue中各组件之间传递数据的方法示例
Jul 27 Javascript
js实现canvas图片与img图片的相互转换的示例
Aug 31 Javascript
浅谈 vue 中的 watcher
Dec 04 Javascript
仿淘宝JSsearch搜索下拉深度用法
Jan 15 Javascript
基于Vue+element-ui 的Table二次封装的实现
Jul 20 Javascript
node中的cookie的具体使用
Sep 13 Javascript
JavaScript常见鼠标事件与用法分析
Jan 03 Javascript
通过js示例讲解时间复杂度与空间复杂度
Aug 06 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
dedecms系统常用术语汇总
2007/04/03 PHP
php下几个常用的去空、分组、调试数组函数
2009/02/22 PHP
php读取文件内容的几种方法详解
2013/06/26 PHP
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
2014/05/04 PHP
JavaScript 异步调用框架 (Part 4 - 链式调用)
2009/08/04 Javascript
基于jquery的高性能td和input切换并可修改内容实现代码
2011/01/09 Javascript
jquery select多选框的左右移动 具体实现代码
2013/07/03 Javascript
Javascript学习笔记之数组的构造函数
2014/11/23 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
BootStrap Validator 版本差异问题导致的submitHandler失效问题的解决方法
2016/12/01 Javascript
JavaScript获取ul中li个数的方法
2017/02/13 Javascript
无限循环轮播图之运动框架(原生JS实现)
2017/10/01 Javascript
详解vue项目中如何引入全局sass/less变量、function、mixin
2018/06/02 Javascript
浅谈Angular 观察者模式理解
2018/11/01 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
ES2020 新特性(种草)
2020/01/12 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
从源码角度来回答keep-alive组件的缓存原理
2021/01/18 Javascript
[44:39]2014 DOTA2国际邀请赛中国区预选赛 NE VS CNB
2014/05/21 DOTA
Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
2013/12/04 Python
Python中MYSQLdb出现乱码的解决方法
2014/10/11 Python
Python基础教程之正则表达式基本语法以及re模块
2016/03/25 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python读取txt文件,去掉空格计算每行长度的方法
2018/12/20 Python
PyQt QCombobox设置行高的方法
2019/06/20 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
2020/01/06 Python
Python基于pyecharts实现关联图绘制
2020/03/27 Python
Django+RestFramework API接口及接口文档并返回json数据操作
2020/07/12 Python
Python 利用Entrez库筛选下载PubMed文献摘要的示例
2020/11/24 Python
敬老院活动总结
2014/04/28 职场文书
银行爱岗敬业演讲稿
2014/05/05 职场文书
运动会开幕词
2015/01/28 职场文书
英语读书笔记
2015/07/02 职场文书
中学政教处工作总结
2015/08/13 职场文书