首頁 web前端 js教程 關於AngularJS驗證表單功能的實作程式碼分析

關於AngularJS驗證表單功能的實作程式碼分析

May 26, 2017 am 10:19 AM
angularjs 表單驗證

這篇文章主要介紹了AngularJS表單驗證功能,結合具體實例形式分析了AngularJS表單驗證的操作步驟、實作技巧與相關注意事項,需要的朋友可以參考下

本文實例講述了AngularJS表單驗證功能。分享給大家供大家參考,具體如下:

在AngularJS的管轄下,每個表單form都會建立一個ngFormController的一個實例。在表單裡面的每個input都會建立一個在這個實例下的ngModelController實例,用來控制每個input的行為。

先從簡單的驗證開始。

AngularJs的ngModelController提供了幾個屬性:$pristine;$dirty;$valid;#$invalid ;$error

pristine:表單並沒有改變。
dirty:表單改變了。
valid:全部控制項符合驗證規則。
invalid:至少有一個控制項不符合驗證規則。
error:有錯,但是不知道什麼錯。

建立一個表單如下:

<form name="userForm" method="#" action="#">
  <label for="name">用户名1</label>
  <input id="name" name="name" type="text" ng-model="users.name" pattern="^\w{6,18}$" required>
  <span ng-show="userForm.name.$error.pattern">用户名必须XXXX</span>
</form>
登入後複製

首先每個form都要有自己的name。透過這個name來對自己下面的input進行控制。而後,每個input標籤都要有自己的name。 name是很關鍵的一步,用來識別每個不同的input,從而識別不同的ngModelController。使用pattern來設定自己的正規表示式規則。使用$error來偵測這個正規表示式是否正確。並把它賦予給ng-show指令。如果有錯,整個$error 就會回傳true,顯示設定好的提示訊息,一直到正規表示式通過,$error回傳false,ng-show 對其進行隱藏。

以上的簡單例子是沒有自己去重新設定控制器的行為,一切都是AngularJs預設的。可以看到ng-show裡面的判斷程式碼其實是可以交給後面的JS完成的,這樣可以看到ngModelController的具體過程。

<!--html-->
<form name="userForm" ng-controller="main" method="#" action="#">
  <label for="name">用户名1</label>
  <input id="name" name="name" type="text" ng-model="users.name" pattern="^\w{6,18}$" required>
  <span style="color:red" ng-show="showError(userForm.name,&#39;pattern&#39;)">用户名必须XX</span>
  <span style="color:green" ng-show="showSuccess(userForm.name)">成功!</span>
  <!--对按钮进行动态锁定-->
  <button class="btn btn-primary btn-lg" ng-disabled="submit(userForm)">SAVE</button>
</form>
登入後複製
/*JS*/
app.controller("main",function($scope){
  $scope.showError=function(ngModelController,abc){
    return ngModelController.$error[abc];
  };
  $scope.showSuccess=function(ngModelController){
    return ngModelController.$valid; /*至少有1错误,返回false,无错误,返回true*/
  };
   $scope.submit=function(ngFormController){
    return ngFormController.$invalid; /*valid的取反*/
  };
});
登入後複製

這裡直接在控制器裡面的ngModelController裡進行判斷。裡面有一個坑,就是判斷$valid 等等這類屬性是沒有帶參數的。而判斷$error 則需要表明“判斷什麼”,我傳了自己的一個正規表示式給他。

AngularJs也可以對表單的提交按鈕進行「鎖定」。但要注意的是,此時BUTTON對應的Controller不再是針對某一個input的ngModelController,而是針對整個form的ngFormController了,因此,裡面的$invalid 是判斷所有的input有沒有問題,全部都沒問題的時候才會解鎖。

思考:正規表示式或minlength類似這種限制,能否寫在JS檔案裡面。

以上是關於AngularJS驗證表單功能的實作程式碼分析的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1665
14
CakePHP 教程
1424
52
Laravel 教程
1322
25
PHP教程
1270
29
C# 教程
1249
24
如何在Laravel中使用中間件處理表單驗證 如何在Laravel中使用中間件處理表單驗證 Nov 02, 2023 pm 03:57 PM

如何在Laravel中使用中間件處理表單驗證,需要具體程式碼範例引言:在Laravel中,表單驗證是非常常見的任務。為了確保使用者輸入的資料的有效性和安全性,我們通常會對表單提交的資料進行驗證。 Laravel提供了一個方便的表單驗證功能,同時也支援使用中間件來處理表單驗證。本文將詳細介紹如何在Laravel中使用中間件處理表單驗證,並提供具體的程式碼範例

php如何使用CodeIgniter4框架? php如何使用CodeIgniter4框架? May 31, 2023 pm 02:51 PM

PHP是一種非常流行的程式語言,而CodeIgniter4是一種常用的PHP框架。在開發Web應用程式時,使用框架是非常有幫助的,它可以加速開發過程、提高程式碼品質、降低維護成本。本文將介紹如何使用CodeIgniter4框架。安裝CodeIgniter4框架CodeIgniter4框架可以從官方網站(https://codeigniter.com/)下載。下

如何使用Flask-WTF實現表單驗證 如何使用Flask-WTF實現表單驗證 Aug 03, 2023 pm 06:53 PM

如何使用Flask-WTF實作表單驗證Flask-WTF是一個用於處理Web表單驗證的Flask擴展,它提供了一種簡潔、靈活的方式來驗證使用者提交的資料。本文將向您展示如何使用Flask-WTF擴充來實作表單驗證。安裝Flask-WTF要使用Flask-WTF,首先需要安裝它。可以使用pip指令來安裝:pipinstallFlask-WTF導入所需模組在F

如何使用Golang實作網頁應用程式的表單驗證 如何使用Golang實作網頁應用程式的表單驗證 Jun 24, 2023 am 09:08 AM

表單驗證是Web應用程式開發中非常重要的環節,它能夠在提交表單資料之前對資料進行有效性檢查,避免應用程式出現安全漏洞和資料錯誤。使用Golang可以輕鬆實現網頁應用程式的表單驗證,本文將介紹如何使用Golang來實作網頁應用程式的表單驗證。一、表單驗證的基本要素在介紹如何實作表單驗證之前,我們需要知道表單驗證的基本要素是什麼。表單元素:表單元素是指

Laravel開發:如何使用Laravel Validation驗證表單請求? Laravel開發:如何使用Laravel Validation驗證表單請求? Jun 13, 2023 pm 01:34 PM

Laravel是一個流行的PHPWeb開發框架,它提供了許多方便的功能來加快開發者的工作。其中,LaravelValidation是一種非常實用的功能,它可以幫助我們輕鬆驗證表單請求和使用者輸入的資料。本文將介紹如何使用LaravelValidation驗證表單請求。什麼是LaravelValidationLaravelValidation是La

PHP中的表單驗證和過濾方法? PHP中的表單驗證和過濾方法? Jun 29, 2023 pm 10:04 PM

PHP作為一種廣泛應用於Web開發的腳本語言,其表單驗證和過濾是非常重要的一部分。在使用者提交表單的過程中,需要對使用者輸入的資料進行驗證和過濾,以確保資料的安全性和有效性。本文將介紹PHP中如何進行表單驗證和篩選的方法和技巧。一、表單驗證表單驗證是指對使用者輸入的資料進行檢查,以確保資料符合特定的規則和要求。常見的表單驗證包括必填項目的驗證、信箱格式、手機號碼格

PHP表單驗證技巧:如何使用filter_input函數檢驗使用者輸入 PHP表單驗證技巧:如何使用filter_input函數檢驗使用者輸入 Aug 01, 2023 am 08:51 AM

PHP表單驗證技巧:如何使用filter_input函數檢驗使用者輸入引言:在開發Web應用程式時,表單是與使用者互動的重要工具。而正確地驗證使用者輸入,是確保資料的完整性和安全性的關鍵步驟之一。 PHP提供了filter_input函數,可以方便地對使用者輸入進行驗證和過濾。本文將介紹如何使用filter_input函數來檢驗使用者輸入,並提供相關的程式碼範例。一、

2022年最新5款的angularjs教學從入門到精通 2022年最新5款的angularjs教學從入門到精通 Jun 15, 2017 pm 05:50 PM

Javascript 是一個非常有個性的語言. 無論是從程式碼的組織, 還是程式碼的程式設計範式, 或物件導向理論都獨具一格. 而很早就在爭論的Javascript 是不是物件導向語言這個問題, 顯然已有答案. 但是, 即使Javascript 叱吒風雲二十年, 如果想要看懂jQuery, Angularjs, 甚至是React 等流行框架, 觀看《黑馬雲課堂JavaScript 高級框架設計視頻教程》就對了。

See all articles