基于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 相关文章推荐
jQuery 使用手册(一)
Sep 23 Javascript
jquery jqPlot API 中文使用教程(非常强大的图表工具)
Aug 15 Javascript
判断浏览器的内核及版本号方法汇总
Jan 05 Javascript
JQUERY简单按钮轮换选中效果实现方法
May 07 Javascript
JavaScript操作表单实例讲解(上)
Jun 20 Javascript
jQuery实现的自动加载页面功能示例
Sep 04 Javascript
jQuery EasyUI Accordion可伸缩面板组件使用详解
Feb 28 Javascript
vue的diff算法知识点总结
Mar 29 Javascript
node.js使用redis储存session的方法
Sep 26 Javascript
解析原来浏览器原生支持JS Base64编码解码
Aug 12 Javascript
vue中jsonp插件的使用方法示例
Sep 10 Javascript
JS前端使用canvas实现扩展物体类和事件派发
Aug 05 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
php中计算程序运行时间的类代码
2012/11/03 PHP
PHP编写简单的App接口
2016/08/28 PHP
ThinkPHP 整合Bootstrap Ajax分页样式
2016/12/23 PHP
PHP Laravel 上传图片、文件等类封装
2017/08/16 PHP
简单的无缝滚动程序-仅几行代码
2007/05/08 Javascript
JavaScript 闭包在封装函数时的简单分析
2009/11/28 Javascript
在javascript中关于节点内容加强
2013/04/11 Javascript
javascript删除数组重复元素的方法汇总
2015/06/24 Javascript
Jquery实现纵向横向菜单
2016/01/24 Javascript
js给table赋值的实例代码
2016/10/13 Javascript
详解Node.js:events事件模块
2016/11/24 Javascript
理解AngularJs篇:30分钟快速掌握AngularJs
2016/12/23 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
原生JS实现网页手机音乐播放器 歌词同步播放的示例
2018/02/02 Javascript
使用vue根据状态添加列表数据和删除列表数据的实例
2018/09/29 Javascript
微信小程序 WXML节点信息查询详解
2019/07/29 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
vue从零实现一个消息通知组件的方法详解
2020/03/16 Javascript
Vue 组件复用多次自定义参数操作
2020/07/27 Javascript
Python类的用法实例浅析
2015/05/27 Python
Python3并发写文件与Python对比
2019/11/20 Python
python 线性回归分析模型检验标准--拟合优度详解
2020/02/24 Python
pycharm第三方库安装失败的问题及解决经验分享
2020/05/09 Python
浅析Python面向对象编程
2020/07/10 Python
Python生成器generator原理及用法解析
2020/07/20 Python
英国马莎百货官网:Marks & Spencer
2016/07/29 全球购物
什么是接口(Interface)?
2013/02/01 面试题
Linux面试经常问的文件系统操作命令
2016/10/04 面试题
校园报刊亭的创业计划书
2014/01/02 职场文书
幼儿园英语教学反思
2014/01/30 职场文书
酒店管理专业自荐信
2014/05/23 职场文书
迎新晚会策划方案
2014/06/13 职场文书
高中毕业典礼演讲稿
2014/09/09 职场文书
请假条应该怎么写?
2019/06/24 职场文书
铁头也玩根德 YachtBoy YB-230......
2022/04/05 无线电