AngularJS学习篇(十七)

AngularJS 输入验证

<!DOCTYPE html>
<html>
<script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script>
<body>

<h2>Validation Example</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 = ‘[email protected]‘;
});
</script>

</body>
</html>

实例解析

AngularJS ng-model 指令用于绑定输入元素到模型中。

模型对象有两个属性: user 和 email

我们使用了 ng-show指令, color:red 在邮件是 $dirty 或 $invalid 才显示。

属性 描述
$dirty 表单有填写记录
$valid 字段内容合法的
$invalid 字段内容是非法的
$pristine 表单没有填写记录
时间: 2024-10-11 17:32:03

AngularJS学习篇(十七)的相关文章

AngularJS学习篇(三)

创建自定义的指令 除了 AngularJS 内置的指令外,我们还可以创建自定义指令. 你可以使用 .directive 函数来添加自定义的指令. 要调用自定义指令,HTML 元素上需要添加自定义指令名. 使用驼峰法来命名一个指令, myAngular, 但在使用它时需要以 - 分割, my-angular: 你可以通过以下方式来调用指令: 元素名 属性 类名 注释 元素名 <!DOCTYPE html> <html> <head> <meta charset=&q

AngularJS学习篇(八)

AngularJS 服务(Service) 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. AngularJS 内建了30 多个服务. 为什么使用服务? 在很多服务中,比如 $location 服务,它可以使用 DOM 中存在的对象,类似 window.location 对象 因为这些服务可以获取到Angular应用声明周期的每一个阶段,并且和$watch整合,让Angular可以监控应用,处理事件变化.普通的DOM对象则不能在Angular应用声明

AngularJS学习篇(十)

AngularJS Select(选择框) 使用 ng-options 创建选择框 在 AngularJS 中我们可以使用 ng-option 指令来创建一个下拉列表,列表项通过对象和数组循环输出,如下实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="angular-1.6.3/angular.js"></scr

AngularJS学习篇(四)

AngularJS ng-model 指令 ng-model 指令用于绑定应用程序数据到 HTML 控制器(input, select, textarea)的值. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://cdn.static.runoob.com/libs/angular.js/1.4.6/angular.min.j

AngularJS学习篇(五)

AngularJS Scope(作用域) Scope(作用域) 是应用在 HTML (视图) 和 JavaScript (控制器)之间的纽带. Scope 是一个对象,有可用的方法和属性. Scope 可应用在视图和控制器上 当你在 AngularJS 创建控制器时,你可以将 $scope 对象当作一个参数传递 视图中,你不需要添加 $scope 前缀, 只需要添加属性名即可 scope 是模型. scope 是一个 JavaScript 对象,带有属性和方法,这些属性和方法可以在视图和控制器中

AngularJS学习篇(二十四)

AngularJS 应用 <html ng-app="myNoteApp"> <head> <meta charset="utf-8"> <script src="http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js"></script> </head> <body> <div ng-contr

AngularJS学习篇(十八)

AngularJS API AngularJS 全局 API 用于执行常见任务的 JavaScript 函数集合,如: 比较对象 迭代对象 转换对象 全局 API 函数使用 angular 对象进行访问. 以下列出了一些通用的 API 函数: API 描述 angular.lowercase() 转换字符串为小写 angular.uppercase() 转换字符串为大写 angular.isString() 判断给定的对象是否为字符串,如果是返回 true. angular.isNumber()

AngularJS学习篇(二十三)

AngularJS 路由 AngularJS 路由允许我们通过不同的 URL 访问不同的内容. 通过 AngularJS 可以实现多视图的单页Web应用(single page web application,SPA). 通常我们的URL形式为 http://runoob.com/first/page,但在单页Web应用中 AngularJS 通过 # + 标记 实现,例如: http://runoob.com/#/first http://runoob.com/#/second http://

AngularJS学习篇(二十)

AngularJS 包含 在 AngularJS 中,你可以在 HTML 中包含 HTML 文件. 使用 AngularJS, 你可以使用 ng-include 指令来包含 HTML 内容: <body ng-app=""> <div ng-include="'test.htm'"></div> </body> test.htm 文件代码: <h1>菜鸟教程</h1> <p>这是一个