<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> </head> <script src="http://localhost:81/js/jquery.js"> </script> <script src="http://localhost:81/js/angular.min.js"> </script> <body ng-app="app"> <div ng-controller="TestCtrl"> <div ng-form test> <input ng-model="a" type="email" /> <button ng-click="do()">查看</button> </div> </div> <script> app = angular.module("app",[]); app.directive(‘test‘,function() {
//form表单的指令都有一个默认的控制器作为第四个参数 var link = function($scope, $element, $attrs, $ctrl) { $scope.do = function() { //$ctrl.$setDirty(); console.log($ctrl.$pristine); //form是否没被动过 console.log($ctrl.$dirty); //form是否被动过 console.log($ctrl.$valid); //form是否被检验通过 console.log($ctrl.$invalid); //form是否有错误 console.log($ctrl.$error); //form中有错误的字段 } } return { compile: function() { return link }, require: ‘form‘, restrict: ‘A‘ } }); app.controller(‘TestCtrl‘, function($scope){ //如果没有contrller,这东西还不会初始化.. }); </script> </body> </html>
原文:http://www.cnblogs.com/diligenceday/p/3659052.html