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精华代码集
Jan 24 Javascript
jQuery中delegate与on的用法与区别示例介绍
Dec 20 Javascript
js jquery分别实现动态的文件上传操作按钮的添加和删除
Jan 13 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
May 18 Javascript
jquery实现简易的移动端验证表单
Nov 08 Javascript
JavaScript提高性能知识点汇总
Jan 15 Javascript
Vue.js学习之过滤器详解
Jan 22 Javascript
jQuery实现右侧抽屉式在线客服功能
Dec 25 jQuery
轻量级JS Cookie插件js-cookie的使用方法
Mar 22 Javascript
webpack打包react项目的实现方法
Jun 21 Javascript
详解vue-cli3使用
Aug 14 Javascript
深入webpack打包原理及loader和plugin的实现
May 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
提高PHP编程效率 引入缓存机制提升性能
2010/02/15 PHP
PHP使用Redis替代文件存储Session的方法
2017/02/15 PHP
PHP实现倒计时功能
2020/11/16 PHP
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
jquery 页面全选框实践代码
2010/04/02 Javascript
javascript 子窗体父窗体相互传值方法
2010/05/31 Javascript
深入理解JavaScript系列(1) 编写高质量JavaScript代码的基本要点
2012/01/15 Javascript
js 触发select onchange事件代码
2014/03/20 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
JS实现为表格动态添加标题的方法
2015/03/31 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
2015/12/08 Javascript
深入理解jQuery中的事件冒泡
2016/05/24 Javascript
Ajax跨域实现代码(后台jsp)
2017/01/21 Javascript
JavaScript事件处理程序详解
2017/09/19 Javascript
ES6知识点整理之Proxy的应用实例详解
2019/04/16 Javascript
vue中使用 pako.js 解密 gzip加密字符串的方法
2019/06/10 Javascript
webpack3升级到webpack4遇到问题总结
2019/09/30 Javascript
vue如何使用外部特殊字体的操作
2020/07/30 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
Python中的模块和包概念介绍
2015/04/13 Python
合并百度影音的离线数据( with python 2.3)
2015/08/04 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
解决Mac下使用python的坑
2019/08/13 Python
利用HTML5绘制点线面组成的3D图形的示例
2015/05/12 HTML / CSS
个人担保书范文
2014/05/20 职场文书
运动会闭幕词
2015/01/28 职场文书
办公室主任岗位职责范本
2015/03/31 职场文书
单位计划生育责任书
2015/05/09 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
刑事法律意见书
2015/06/04 职场文书
工作违纪的检讨书范文
2019/07/09 职场文书
SQLServer2019 数据库的基本使用之图形化界面操作的实现
2021/04/08 SQL Server
开发者首先否认《遗弃》被取消的传言
2022/04/11 其他游戏
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js