AngularJS自定义表单验证

<!doctype html>
<html ng-app="myApp">
    <head>
        <script src="G:\Source\Repos\GWD\Gridsum.WebDissector.Website.ZC\Gridsum.WebDissector.Website.ZC\Pages\dist\assets\lib\angularjs\angular.js"></script>
        <script type="text/javascript">
            var myModule = angular.module('myApp', []);
            myModule.controller('MyController', function ($scope, $timeout) {
                $scope.master= {};
                $scope.update = function(user) {
                    $scope.master= angular.copy(user);
                };
                $scope.reset = function() {
                    $scope.user = angular.copy($scope.master);
                };
                $scope.isUnchanged = function(user) {
                    return angular.equals(user, $scope.master);
                };
                $scope.reset();
            });       
        </script>
    </head>
    <body>
        <div ng-controller="MyController">
            <form name="form" class="css-form" novalidate>
                Name:
                <input type="text" ng-model="user.name" name="uName" required /><br />
                E-mail:
                <input type="email" ng-model="user.email" name="uEmail" required/><br />
                <div ng-show="form.uEmail.$dirty && form.uEmail.$invalid">Invalid:
                    <span ng-show="form.uEmail.$error.required">Tell us your email.</span>
                    <span ng-show="form.uEmail.$error.email">This is not a valid email.</span>
                </div>
                Gender: 
                <input type="radio" ng-model="user.gender" value="male" />male
                <input type="radio" ng-model="user.gender" value="female" />female<br />
                <input type="checkbox" ng-model="user.agree" name="userAgree" required />
                I agree: <input ng-show="user.agree" type="text" ng-model="user.agreeSign"
                required /><br />
                <div ng-show="!user.agree || !user.agreeSign">Please agree and sign.</div>
                <button ng-click="reset()" ng-disabled="isUnchanged(user)">RESET</button>
                <button ng-click="update(user)"
                ng-disabled="form.$invalid || isUnchanged(user)">SAVE</button>
            </form>
        </div>
    </body>
</html

  

原文地址:https://www.cnblogs.com/chengshuiqiang/p/4623182.html