摘要:如果想要屏蔽瀏覽器對表單的默認驗證行為,可以在表單元素上添加標(biāo)記。如果未修改,值為,如果修改過值為修改過的表單只要用戶修改過表單,無論輸入是否通過驗證,該值都返回合法的表單這個布爾型的屬性用來判斷表單的內(nèi)容是否合法。
借助AngularJS,我們不需要花太多額外的精力就可以輕松實現(xiàn)客戶端表單驗證功能。雖然 Web應(yīng)用安全不能完全依賴客戶端驗證,但客戶端驗證可以提供表單狀態(tài)的實時反饋。
要使用表單驗證,首先要確保表單有一個name屬性。
所有輸入字段都可以進行基本的驗證,比如最大、最小長度等。這些功能是由新的HTML5 表單屬性提供的。
如果想要屏蔽瀏覽器對表單的默認驗證行為,可以在表單元素上添加novalidate標(biāo)記。
下面看一下可以在input元素上使用的所有驗證選項。
必填項
驗證某個表單輸入是否已填寫,只要在輸入字段元素上添加HTML5標(biāo)記required即可:
最小長度
驗證表單輸入的文本長度是否大于某個最小值,在輸入字段上使用AngularJS指令ng-minleng= "{number}":
最大長度
驗證表單輸入的文本長度是否小于或等于某個最大值,在輸入字段上使用AngularJS指令 ng-maxlength="{number}":
模式匹配
使用ng-pattern="/PATTERN/"來確保輸入能夠匹配指定的正則表達式:
電子郵件
驗證輸入內(nèi)容是否是電子郵件,只要像下面這樣將input的類型設(shè)置為email即可:
數(shù)字
驗證輸入內(nèi)容是否是數(shù)字,將input的類型設(shè)置為number:
URL
驗證輸入內(nèi)容是否是URL,將input的類型設(shè)置為 url:
在表單中控制變量
表單的屬性可以在其所屬的$scope對象中訪問到,而我們又可以訪問$scope對象,因此 JavaScript可以間接地訪問DOM中的表單屬性。借助這些屬性,我們可以對表單做出實時(和 AngularJS中其他東西一樣)響應(yīng)。這些屬性包括下面這些。
未修改的表單 formName.inputFieldName.$pristine 這是一個布爾屬性,用來判斷用戶是否修改了表單。如果未修改,值為true,如果修改過值為false; 修改過的表單 formName.inputFieldName.$dirty 只要用戶修改過表單,無論輸入是否通過驗證,該值都返回true: 合法的表單 formName.inputFieldName.$valid 這個布爾型的屬性用來判斷表單的內(nèi)容是否合法。如果當(dāng)前表單內(nèi)容是合法的,下面屬性的 值就是true: 不合法的表單 formName.inputFieldName.$invalid 這個布爾屬性用來判斷表單的內(nèi)容是否不合法。如果當(dāng)前表單內(nèi)容是不合法的,下面屬性的 值為true: 錯誤 formName.inputfieldName.$error 如果驗證失敗,這個屬性的值為true;如果值為false,說明輸入字段的值通過了驗證。
下面結(jié)合具體的例子,來運用上面的屬性
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/87081.html
摘要:表單驗證使用場景在實際的開發(fā)中我們可能會有這樣的情況。姓名不能為空姓名太短姓名太長姓名不能為空姓名太短姓名太長借助表單本身比之前的更簡單了。結(jié)尾以上就是關(guān)于表單驗證的全部內(nèi)容。 前言 在之前的文章《angular表單驗證》中主要介紹了一些關(guān)于angular表單驗證的基礎(chǔ)知識。在此篇中將著重以擴展angular表單驗證的相關(guān)內(nèi)容和實際開發(fā)中的應(yīng)用為主。 表單驗證使用場景1 在實際的開發(fā)...
摘要:在表單上添加的會攔截標(biāo)準(zhǔn)的表單提交事件。并為它們提供了一些共同的行為和屬性,其中有些是可觀察對象。用于跟蹤一個單獨的表單控件的值和有效性狀態(tài)。組件中的頂級表單就是一個。在表單所在的中的上添加,再在指定的驗證方法中調(diào)用來顯示驗證失敗信息。 angular4 表單 模板表單 在app.module中導(dǎo)入FormsModule之后,項目中的form表單都會是一個ngForm,也就是一個模板表...
摘要:在模塊里面引入要使用響應(yīng)式表單,就要從包中導(dǎo)入,并把它添加到你的的數(shù)組中。導(dǎo)入驗證器函數(shù)響應(yīng)式表單包含了一組開箱即用的常用驗證器函數(shù)。這些驗證器屬性可以和響應(yīng)式表單提供的內(nèi)置驗證器組合使用。 1:在AppModule模塊里面引入 ReactiveFormsModule 要使用響應(yīng)式表單,就要從@angular/forms包中導(dǎo)入ReactiveFormsModule,并把它添加到你的N...
摘要:在模塊里面引入要使用響應(yīng)式表單,就要從包中導(dǎo)入,并把它添加到你的的數(shù)組中。導(dǎo)入驗證器函數(shù)響應(yīng)式表單包含了一組開箱即用的常用驗證器函數(shù)。這些驗證器屬性可以和響應(yīng)式表單提供的內(nèi)置驗證器組合使用。 1:在AppModule模塊里面引入 ReactiveFormsModule 要使用響應(yīng)式表單,就要從@angular/forms包中導(dǎo)入ReactiveFormsModule,并把它添加到你的N...
閱讀 986·2021-11-25 09:43
閱讀 1356·2021-11-17 09:33
閱讀 3079·2019-08-30 15:44
閱讀 3380·2019-08-29 17:16
閱讀 537·2019-08-28 18:20
閱讀 1725·2019-08-26 13:54
閱讀 615·2019-08-26 12:14
閱讀 2234·2019-08-26 12:14