基于AngularJS实现表单验证功能


Posted in Javascript onJuly 28, 2017

本文实例为大家分享了AngularJS实现表单验证功能的具体代码,供大家参考,具体内容如下

<!--实例解析

ng-app 指令定义了 AngularJS 应用。

ng-controller 指令定义了应用控制器。

ng-model 指令绑定了两个 input 元素到模型的 user 对象。

formCtrl 函数设置了 master 对象的初始值,并定义了 reset() 方法。

reset() 方法设置了 user 对象等于 master 对象。

ng-click 指令调用了 reset() 方法,且在点击按钮时调用。

novalidate 属性在应用中不是必须的,但是你需要在 AngularJS 表单中使用,用于重写标准的 HTML5 验证。 -->
<!DOCTYPE html>
<html ng-app="myApp">
<head>
<meta charset="utf-8">
<script src="js/angular.js"></script>
</head>
<body>
<!-- Checkbox(单选框)
我们可以使用 ng-model 来绑定单选按钮到你的应用中。
单选框使用同一个 ng-model ,可以有不同的值,但只有被选中的单选按钮的值会被使用
-->
<form>
 选择一个选项:
 <input type="radio" ng-model="myVar" value="dogs">Dogs
 <input type="radio" ng-model="myVar" value="tuts">Tutorials
 <input type="radio" ng-model="myVar" value="cars">Cars
</form>
<div ng-switch="myVar">
 <div ng-switch-when="dogs">
   <h1>Dogs</h1>
   <p>Welcome to a world of dogs.</p>
 </div>
 <div ng-switch-when="tuts">
   <h1>Tutorials</h1>
   <p>Learn from examples.</p>
 </div>
 <div ng-switch-when="cars">
   <h1>Cars</h1>
   <p>Read about cars.</p>
 </div>
</div>
<p>ng-switch 指令根据单选按钮的选择结果显示或隐藏 HTML 区域。</p><br><br><br><br>

<!-- 下拉菜单
使用 ng-model 指令可以将下拉菜单绑定到你的应用中。
ng-model 属性的值为你在下拉菜单选中的选项
-->
<form>
 选择一个选项:
 <select ng-model="myVar2">
  <option value="">
  <option value="dogs">Dogs
  <option value="tuts">Tutorials
  <option value="cars">Cars
 </select>
</form>
<div ng-switch="myVar2">
 <div ng-switch-when="dogs">
   <h1>Dogs</h1>
   <p>Welcome to a world of dogs.</p>
 </div>
 <div ng-switch-when="tuts">
   <h1>Tutorials</h1>
   <p>Learn from examples.</p>
 </div>
 <div ng-switch-when="cars">
   <h1>Cars</h1>
   <p>Read about cars.</p>
 </div>
</div>
<p>ng-switch 指令根据下拉菜单的选择结果显示或隐藏 HTML 区域。</p><br><br><br><br>

<!-- novalidate-->
<form action="xxx.do" novalidate>
E-mail: <input type="email" name="user_email">
<input type="submit">
</form>
<p><strong>注意:</strong>在 Safari 和 Internet Explorer 9 及之前的版本中不支持 novalidate 属性。这个属性可以关闭浏览器默认校验</p><br><br><br><br>


<!--Checkbox(复选框)
checkbox 的值为 true 或 false,可以使用 ng-model 指令绑定,它的值可以用于应用中-->
<div ng-app="">
 <form>
  选中复选框,显示标题:
  <input type="checkbox" ng-model="myVar">
 </form>
 <h1 ng-show="myVar">My Header</h1>
</div>
<p>标题使用了 ng-show 指令,复选框选中后显示 h1 标签内容。</p><br><br><br><br>

<!-- HTML 表单
HTML 表单通常与 HTML 控件同时存在
以下 HTML input 元素被称为 HTML 控件:

  input 元素
  select 元素
  button 元素
  textarea 元素
-->
<div ng-app="myApp" ng-controller="formCtrl">
 <form novalidate>
  First Name:<br>
  <input type="text" ng-model="user.firstName"><br>
  Last Name:<br>
  <input type="text" ng-model="user.lastName">
  <br><br>
  <button ng-click="reset()">RESET</button>
 </form>
 <p>form = {{user}}</p>
 <p>master = {{master}}</p>
</div>

<script>

var app = angular.module('myApp', []);
app.controller('formCtrl', function($scope) {
  $scope.master = {firstName: "John", lastName: "Doe"};
  $scope.reset = function() {

    $scope.user = angular.copy($scope.master);

  };
  $scope.reset();
});

</script>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
childNodes.length与children.length的区别
May 14 Javascript
兼容ie、firefox的图片自动缩放的css跟js代码分享
Aug 12 Javascript
jQuery将所有被选中的checkbox某个属性值连接成字符串的方法
Jan 24 Javascript
jQuery插件slicebox实现3D动画图片轮播切换特效
Apr 12 Javascript
Node.js中npm常用命令大全
Jun 09 Javascript
Javascript中构造函数要注意的一些坑
Jan 23 Javascript
Bootstrap组件之下拉菜单,多级菜单及按钮布局方法实例
May 25 Javascript
jQuery实现的简单无刷新评论功能示例
Nov 08 jQuery
解决JSON.stringify()自动将中文转译成unicode的问题
Jan 05 Javascript
详解Vue底部导航栏组件
May 02 Javascript
JS Generator 函数的含义与用法实例总结
Apr 08 Javascript
vue实现tab栏点击高亮效果
Aug 19 Javascript
AngularJS service之select下拉菜单效果
Jul 28 #Javascript
解决Vue2.0自带浏览器里无法打开的原因(兼容处理)
Jul 28 #Javascript
bootstrap datepicker插件默认英文修改为中文
Jul 28 #Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
Jul 28 #Javascript
基于JS实现移动端左滑删除功能
Jul 28 #Javascript
Vue2.0 多 Tab切换组件的封装实例
Jul 28 #Javascript
webpack实现热更新(实施同步刷新)
Jul 28 #Javascript
You might like
怎样在UNIX系统下安装MySQL
2006/10/09 PHP
ThinkPHP的L方法使用简介
2014/06/18 PHP
php校验表单检测字段是否为空的方法
2015/03/20 PHP
深入理解JavaScript系列(2) 揭秘命名函数表达式
2012/01/15 Javascript
顶部缓冲下拉菜单导航特效的JS代码
2013/08/27 Javascript
原生js操作checkbox用document.getElementById实现
2013/10/12 Javascript
基于zepto.js实现仿手机QQ空间的大图查看组件ImageView.js详解
2015/03/05 Javascript
jQuery实现简单隔行变色的方法
2016/02/20 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
Angular 2应用的8个主要构造块有哪些
2016/10/17 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
JS中跳出循环的示例代码
2017/09/14 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
vue删除html内容的标签样式实例
2018/09/13 Javascript
JavaScript使用小插件实现倒计时的方法讲解
2019/03/11 Javascript
Vue 实现前进刷新后退不刷新的效果
2019/06/14 Javascript
[01:35]2018完美盛典章节片——共竞
2018/12/17 DOTA
对Python的zip函数妙用,旋转矩阵详解
2018/12/13 Python
Python+OpenCV图片局部区域像素值处理详解
2019/01/23 Python
深入浅析Python 中 is 语法带来的误解
2019/05/07 Python
Django 项目通过加载不同env文件来区分不同环境
2020/02/17 Python
python 常用日期处理-- datetime 模块的使用
2020/09/02 Python
python+selenium+chrome实现淘宝购物车秒杀自动结算
2021/01/07 Python
Champion澳大利亚官网:美国冠军运动服装
2018/05/07 全球购物
联想C++笔试题
2012/06/13 面试题
一道SQL面试题
2012/12/31 面试题
五一劳动节活动记录
2014/03/23 职场文书
中秋节活动总结
2014/08/29 职场文书
志愿者爱心公益活动策划方案
2014/09/15 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
个人催款函范文
2015/06/23 职场文书
导游词之五台山
2019/10/11 职场文书
nginx服务器的下载安装与使用详解
2021/08/02 Servers
JavaScript中document.activeELement焦点元素介绍
2021/11/27 Javascript
Redis批量生成数据的实现
2022/06/05 Redis