1. 程式人生 > >angularjs-表單驗證

angularjs-表單驗證

建立一個登錄檔單,表單中包括使用者名稱字,郵件地址,和使用者名稱(暱稱);

1、開始定義一個表單

 <form name="signup_form" novalidateng-submit="signupForm()">
        <fieldset>
            <legend>Signup</legend>


            <button type="submit" class="button radius" >Submit</button>
                </div
>
</div> </fieldset> </form>

表單名稱是signup_form,當表單提交時我們呼叫signupForm()。
2、新增使用者名稱稱
設定了一些驗證,驗證name欄位長度大於3小於20,要求欄位必填。

<div class="row">
   <div class="large-12 columns">
       <label>Your name</label>
       <input type="text" placeholder="Name"
name="name" ng-model="signup.name" ng-minlength="3" ng-maxlength="20" required /> <div class="error" ng-show="signup_form.name.$dirty && signup_form.name.$invalid"> <small class="error" ng-show="signup_form.name.$error.required">Your name is required.</small> <small class
="error" ng-show="signup_form.name.$error.minlength">Your name is required to be at least 3 characters.</small> <small class="error" ng-show="signup_form.name.$error.maxlength">Your name cannot be longer than 20 characters.</small> </div> </div> </div>

3、新增email

<div class="row">
                <div class="large-12 columns">
                    <label>Your email</label>
                    <input type="email" placeholder="Email" name="email" ng-model="signup.email" ng-minlength="3" ng-maxlength="20" required />
                    <div class="error" ng-show="signup_form.email.$dirty && signup_form.email.$invalid">
                        <small class="error" ng-show="signup_form.email.$error.required">Your email is required.</small>
                        <small class="error" ng-show="signup_form.email.$error.minlength">Your email is required to be at least 3 characters.</small>
                        <small class="error" ng-show="signup_form.email.$error.maxlength">Your email cannot be longer than 20 characters.</small>
                    </div>
                </div>
            </div>

4、新增使用者名稱
功能與上面相同並添加了一個自定義驗證

HTML

<div class="row">
                <div class="large-12 columns">
                    <label>Username</label>
                    <input type="text" placeholder="Desired username" name="username" ng-model="signup.username" ng-minlength="3" ng-maxlength="20" ensure-unique="username" required />
                    <div class="error" ng-show="signup_form.username.$dirty && signup_form.username.$invalid">
                        <small class="error" ng-show="signup_form.username.$error.required">Please input a username.</small>
                        <small class="error" ng-show="signup_form.username.$error.minlength">Your username is required to be at least 3 characters.</small>
                        <small class="error" ng-show="signup_form.username.$error.maxlength">Your username cannot be longer than 20 characters.</small>
                        <small class="error" ng-show="signup_form.username.$error.unique">That username is taken,please try another.</small>
                    </div>
                </div>
            </div>

JavaScript

 <script>
        var app = angular.module('myApp',[]);
        app.directive('ensureUnique',function($http){
            return {
                require: 'ngModel',
                link: function(scope, ele, attrs, c){
                    scope.$watch(attrs.ngModel, function(n){
                        if(!n) return;
                        $http({
                            method: 'POST',
                            url: '/api/check/' + attrs.ensureUnique,
                            data: {
                                field: attrs.ensureUinque,
                                value: scope.ngModel
                            }
                        }).success(function(data){
                            c.$setValidity('unique',data.isUnique);
                        }).error(function(data){
                            c.$setValidity('unique',false);
                        });
                    });
                }
            };
        });
    </script>

最後,把按鈕放進去。用ng-disabled指令基於表單的合法性來啟用或禁用按鈕

<button type="submit" class="button radius" ng-disabled="signup_form.$invalid">Submit</button>

相關推薦

AngularJS驗證

json del 用戶 valid required ctr rmmod form lar AngularJS的表單驗證大致有兩種,一種是手動驗證,一種是自動驗證。 手動驗證: 是通過AngularJS表單的屬性來驗證。而成為AngularJS表單必須滿足兩個條件:1、給f

AngularJS 驗證手機號(非必填)

clas -a amp ont mit blog invalid form inpu 代碼: <form ng-app="myApp" ng-controller="validateCtrl" name="myForm" novalidate> <p

angularjs-驗證

建立一個登錄檔單,表單中包括使用者名稱字,郵件地址,和使用者名稱(暱稱); 1、開始定義一個表單 <form name="signup_form" novalidateng-submit="signupForm()"> &l

AngularJS驗證開發(相關語法)(一)

最近身邊人都在學習angularjs,這個框架我以前看過。但是不是很熟練。現在通過一些網站學習。現在表單驗證用angularjs是非常智慧化和非常好用的。所以記錄我所學的。 學習的重點: a 域$scope在angular中的意義 b 掌握angula

驗證<AngularJs>

參考部落格: https://www.cnblogs.com/rohelm/p/4033513.html 常用的表單驗證指令  1. 必填項驗證 某個表單輸入是否已填寫,只要在輸入欄位元素上新增HTML5標記required即可: <input type="text"

angularjs-驗證-控制元件的使用

表單控制元件:input/select/textarea <!--h4的表單控制元件--> <input type="text"/> <input type="password"/> <input ty

AngularJS 自定義驗證$parsers

        當用戶同控制器進行互動,並且ngModelController中的$setViewValue()方法被呼叫時,$parsers陣列中的函式會以流水線的形式被逐個呼叫。第一個$parse被呼叫後,執行結果

AngularJS內建指令示例——驗證

示例1: <html ng-app='TestFormModule'> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> &

angularjs註冊--兩次密碼驗證

html <div class="container" ng-controller="RegisterCtrl"> <form name="loginForm" ng-s

angularjs-驗證-的巢狀及其宣告

表單宣告: <form name="myForm" ng-controller="myFormController"</form> 表單巢狀: Angular中表單能夠巢狀的,瀏覽器實際不允許,所以Angular提供了ngForm指令

AngularJS form validation-驗證

When taking input from our users, it's important to show visual feedback on their input.  In the context of human relationships, fo

純H5+c3實現驗證

mail ida 網址 put 滿足 字段 address ini css3 客戶端驗證是網頁客戶端程序最常用的功能之一,我們之前使用了各種各樣的js庫來進行表單的驗證。HTML5其實早已為我們提供了表單驗證的功能。至於為啥沒有流行起來估計是兼容性的問題還有就是樣式太醜陋了

驗證

java pwd word 用戶註冊 -1 style 字符 text date <!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title></

JaveWeb 公司項目(4)----- Easyui的驗證

過程 -- 目前 要求 今天 和數 希望 小項目 web 前面三篇博文講述的是界面的搭建和數據的傳輸,可以看出目前我做的這個小項目已經有了一個大體的雛形,剩下的就是細節部分的打磨和一些友好的人機交互設計,今天做的是表單的驗證,作為初學者,著實花了一番功夫,所以寫一篇博文將這

jQuery基礎(常用插件 驗證,圖片放大鏡,自定義對象級,jQuery UI,面板折疊)

此外 cookie值 添加圖標 tor 列表 需要 droppable 使用 ddn 1.表單驗證插件——validate 該插件自帶包含必填、數字、URL在內容的驗證規則,即時顯示異常信息,此外,還允許自定義驗證規則,插件調用方法如下: $(form).vali

第一篇,js驗證模板

scrip put func wrong lur ctype lan lang 執行 下面是對於一個email的表單驗證的基本模板<!DOCTYPE html><html lang="en"><head> <meta char

一個驗證

wrong spa 插件 position ava char email格式 box eth <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/

angular js h5關於驗證的例子

checked tro mis scrip att sta error 自定義 account angular js表單驗證 <!DOCTYPE html><html><head lang="en"> <meta charse

Java Script 第10章 JavaScript驗證

cnblogs ges scrip isp asc ima javascrip lock 分享 Java Script 第10章 JavaScript表單驗證

驗證的設計

解決方案 正則 wan 光有 做了 我只 cnblogs 提示 重要   不說廢話,直接留幹貨。實現的效果:多條表單提交的時候,如果某個表單的輸入不和格式要求,則提示對應的錯誤信息,所有表單的內容合適,則提交到後臺。顯示代碼(這裏的dom的結構不唯一,我只是在我實際的項目中