zoukankan      html  css  js  c++  java
  • AngularJS表单验证开发案例

    angular支持IE8+浏览器,虽然性能很好,但是目前只适用于手机端项目

    知识点:
    域$scope
    AngularJS基础指令
    指令实现不同的功能
    学习思路和方法

    <link rel="stylesheet" href="lib/css/bootstrap.min.css"/>
    <body ng-app="myApp" ng-controller="MainController">
    angular.module('myApp', [])
        .controller('MainController', function ($scope) {
            $scope.submitForm = function () {
                console.log('表单提交了');
            };
        });
    /***********************************/
    <input class="form-control" type="text" ng-model="name" ng-minlength="4" ng-maxlength="10"/>
    <div class="red">{{name}}</div>
    <div>{{name}}</div>
    <div>{{name}}</div>
    <div>{{name}}</div>
    <div>{{name}}</div>
    <div>{{name}}</div>
    <div>{{name}}</div>
    /*******************************/
    
    <form name="signUpForm" ng-submit="submitForm()">
        <div class="form-group">
            <label>用户名:</label>
            <input type="text"
                   name="username"
                   ng-model="username"
                   ng-class="{'error': signUpForm.username.$invalid}"
                   required
                   ng-minlength="4"
                   class="form-control"
            />
            <div>{{username}}</div>
            <div ng-if="signUpForm.username.$invalid &&
                        signUpForm.username.$touched">您输入的有误差</div>
            <div ng-if="signUpForm.username.$valid" class="correct">
                恭喜输入正确
            </div>
        </div>
    </form>
    
    /******************************/
    
    <form name="signUpForm" ng-submit="submitForm()">
        <div class="form-group">
            <label>用户名:</label>
            <input type="text"
                   name="username"
                   ng-model="username"
                   ng-class="{'error': signUpForm.username.$invalid}"
                   required
                   ng-minlength="4"
                   class="form-control"
            />
            <input type="text"
                   name="username2"
                   ng-model="username2"
                   class="form-control"
                   ng-disabled="signUpForm.username.$valid"
            />
            <button class="btn btn-primary" ng-disabled="signUpForm.$invalid">提交</button>
        </div>
    </form>
    
    /**********************************/
    
        <style>
            .wrapper {
                width: 200px;
                margin: 30px auto;
            }
        </style>
    </head>
    <body ng-app="myApp" ng-controller="MainController">
    
    <div class="wrapper">
        <h2>注册</h2>
        <form>
            <div class="form-group">
                <label>用户名:</label>
                <input type="text" name="username" class="form-control"/>
            </div>
            <div class="form-group">
                <label>密码:</label>
                <input type="password" name="password" class="form-control"/>
            </div>
            <div class="form-group">
                <label>确认密码:</label>
                <input type="password" name="password2" class="form-control"/>
            </div>
        </form>
    </div>
    
    /****************************/
    
    <link rel="stylesheet" href="font-awesome-4.5.0/css/font-awesome.min.css"/>
        <link rel="stylesheet" href="lib/css/bootstrap.min.css"/>
        <style>
            .wrapper {
                width: 200px;
                margin: 30px auto;
            }
            p.error {
                color: red;
               /* display: none;*/
            }
            pre {
                white-space: normal;
            }
            p.input-result {
                position: relative;
                top: -26px;
                left: 179px;
            }
            p.success {
                color: #3C763D;
            }
        </style>
    </head>
    <body ng-app="myApp" ng-controller="MainController">
    <!-- name="signUpForm" 注册表单 -->
    <div class="wrapper">
        <h2>注册</h2>
        <form name="signUpForm" ng-submit="submitForm()">
            <div class="form-group" ng-class="{'has-success': signUpForm.username.$valid}">
                <label>用户名:</label>
                <pre>合法:{{signUpForm.username.$valid}}</pre>
                <pre>{{signUpForm.username}}</pre>
                <input type="text"
                       name="username"
                       class="form-control"
                       ng-model="userdata.username"
                       required
                       ng-minlength="4"
                       ng-maxlength="32"
                />
                <p class="error" ng-if="signUpForm.username.$error.required
                && signUpForm.username.$touched">
                    用户名不可为空
                </p>
                <p class="error" ng-if="(signUpForm.username.$error.minlength
                || signUpForm.username.$error.maxlength) && signUpForm.username.$touched">
                    用户名长度应在4~32位之间
                </p>
                <p class="fa fa-check input-result success"
                        ng-if="signUpForm.username.$valid"></p>
            </div>
            <div class="form-group" ng-class="{'has-success': signUpForm.password.$valid}">
                <label>密码:</label>
                <input type="password"
                       name="password"
                       class="form-control"
                       ng-model="userdata.password"
                       required
                       ng-minlength="6"
                       ng-maxlength="18"
                />
                <p class="error" ng-if="signUpForm.password.$error.required
                && signUpForm.password.$touched">
                    密码不得为空
                </p>
                <p class="error" ng-if="(signUpForm.password.$error.minlength
                || signUpForm.password.$error.maxlength)
                && signUpForm.password.$touched">
                    密码应该在6~18位之间
                </p>
                <p class="fa fa-check input-result success"
                   ng-if="signUpForm.password.$valid"></p>
            </div>
            <div class="form-group" ng-class="{'has-success': signUpForm.password2.$valid}">
                <label>确认密码:</label>
                <input type="password"
                       name="password2"
                       class="form-control"
                       ng-model="userdata.password2"
                       required
                       compare="signUpForm.password"
                />
                <p class="error"></p>
            </div>
            <div class="form-group">
                <button class="btn btn-primary">注册</button>
            </div>
        </form>
    </div>
    
    
    
    
    <script src="lib/js/angular.min.js"></script>
    <script src="js/main.js"></script>
    angular.module('myApp', [])
        .controller('MainController', function ($scope) {
    
            $scope.userdata = {};
    
            $scope.submitForm = function () {
                console.log('表单提交了');
                // $scope.userdata是表单提交的内容
                console.log($scope.userdata);
                // Object {username: "aaa", password: "123456", password2: "456789"}
    
                if($scope.signUpForm.$invalid) {
                    alert('请检查你输入的内容');
                } else {
                    alert('提交成功!');
                }
            };
        })
    
    // 创建指令
    .directive('compare', function () {
        var o = {};
        return o;
    });
  • 相关阅读:
    Azure Bicep(三)变量控制
    FreeRedis分布式锁实现以及使用
    动态表单存储设计
    SixLabors.ImageSharp 实践小结
    你了解一条sql的执行顺序吗
    理解ASP.NET Core
    理解ASP.NET Core
    产品说,我只需要一个有亿点复杂的查询界面
    学习大数据可以考哪些证书(附资料)
    数据治理之元数据管理的利器——Atlas入门宝典
  • 原文地址:https://www.cnblogs.com/lqcdsns/p/5617385.html
Copyright © 2011-2022 走看看