AngularJS快捷入门指南14:数据表明

  AngularJS表单和控件可以对用户输入的数码开展认证。


输入验证

  在事先的章节中你早已精通了有关AngularJS表单和控件的相关内容。

  AngularJS表单和控件可以提供数据验证服务,并对不合法的多少交到指示音信。

请注意任何情况下都不能仅靠客户端的数据验证,服务端数据验证也是必须的。

程序代码

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>

<h2>Validation Example</h2>

<form  ng-app="myApp"  ng-controller="validateCtrl"
name="myForm" novalidate>

<p>Username:<br>
  <input type="text" name="user" ng-model="user" required>

  Username is required.

</p>

<p>Email:<br>
  <input type="email" name="email" ng-model="email" required>

  Email is required.
  Invalid email address.

</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>

运行

novalidate属性表示禁用浏览器默认的数据验证功能。

代码解释

  AngularJS指令ng-model将input标签绑定到模型中。

  模型对象有五个特性:useremail

  通过行使ng-show命令来显示或隐藏<span>元素,该因素的书体被设置成肉色,当user或email是$dirty$invalidAngularJS,时显示。

过滤器 描述
$dirty 表示当前field中的内容被修改过。
$valid 表示当前field中的内容是有效的。
$invalid 表示当前field中的内容是无效的。
$pristine 表示当前field中的内容还没有被修改。

上一章 –
AngularJS神速入门指南13:表单

下一章 –
AngularJS飞快入门指南15:API

 

相关文章