好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 詳解HTML5中表單驗證的8種方法介紹

詳解HTML5中表單驗證的8種方法介紹

熱門標(biāo)簽:百應(yīng)電銷機(jī)器人產(chǎn)業(yè) 貸款電銷人工和機(jī)器人哪個好 飛亞外呼系統(tǒng) 高德地圖標(biāo)注賓館位置 電話機(jī)器人如何 西寧智能外呼系統(tǒng)加盟 杭州營銷電銷機(jī)器人供應(yīng)商 聯(lián)通400電話申請 電視購物電銷外呼系統(tǒng)

在深人探討表單驗證之前,讓我們先思考一下表單驗證的真實(shí)含義。就其核心而言,表單驗證是一套系統(tǒng),它為終端用戶檢測無效的控件數(shù)據(jù)并標(biāo)記這些錯誤。換言之,表單驗證就是在表單提交服務(wù)器前對其進(jìn)行一系列的檢查并通知用戶糾正錯誤。

但是真正的表單驗證是什么?

是一種優(yōu)化。

之所以說表單驗證是一種優(yōu)化,是因為僅通過表單驗證機(jī)制不足以保證提交給服務(wù)器的表單數(shù)據(jù)是正確和有效的。另一方面,設(shè)計表單驗證是為了讓W(xué)eb應(yīng) 用更快地拋出錯誤。換句話說,最好利用瀏覽器內(nèi)置的處理機(jī)制來告知用戶網(wǎng)頁內(nèi)包含無效的表單控件值。過去,數(shù)據(jù)在網(wǎng)絡(luò)上轉(zhuǎn)一圈,僅僅是為了讓服務(wù)器通知用 戶他輸入了錯誤的數(shù)據(jù)。如果瀏覽器完全有能力讓錯誤在離開客戶端之前就被捕獲到,那么我們應(yīng)該利用這個優(yōu)勢。

不過,瀏覽器的表單檢查還不足以處理所有的錯誤。

話雖如此,HTML5還是引入了八種用于驗證表單控件的數(shù)據(jù)正確性的方法。讓我們依次了解一下,不過先要介紹一下用于反饋驗證狀態(tài)的ValidityState對象。

在支持Html5表單驗證的瀏覽器中,可以通過表單控件來訪問ValidityState對象:

var valCheck = document.myForm.myInput.validity;

這行代碼獲取了名為myInput的表單元素的ValidityState對象。對象包含了對所有八種驗證狀態(tài)的引用,以及最終驗證結(jié)果。

調(diào)用方式如下:

valCheck.valid

執(zhí)行完畢,我們會得到一個布爾值,它表示表單控件是否已通過了所有的驗證約束條件。可以把valid特性看做是最終驗證結(jié)果:如果所有八個約束條件都通過了,valid特性就是true,否則,只要有一項約束沒通過,valid標(biāo)志都是false。

如前所述,任何表單元素都有八個可能的驗證約束條件。每個條件在ValidityState對象中都有對應(yīng)的特性名,可以用適當(dāng)?shù)姆绞皆L問。讓我們逐一分析,看看它們是如何與表單控件關(guān)聯(lián)的,以及如何基于ValidityState對象來對它們進(jìn)行檢查:

1、valueMissing

目的:確保表單控件中的值已填寫。

用法:在表單控件中將required特性設(shè)置為true。

示例:

<input type="text" name="myText" required>

詳細(xì)說明:如果表單控件設(shè)置了required特性,那么在用戶填寫或者通過代碼調(diào)用方式填值之前,控件會一直處于無效狀態(tài)。例如,空的文本輸入框無法通過必填檢查,除非在其中輸入任意文本。輸入值為空時,valueMissing會返回true。

2、typeMismatch

目的:保證控件值與預(yù)期類型相匹配(如numbe、email、URL等).

用法:指定表單控件的type特性值。

示例:

<input type="email" name="myEmail">

詳細(xì)說明:特殊的表單控件類型不只是用來定制手機(jī)鍵盤, 如果瀏覽器能夠識別出來表單控件中的輸入不符合對應(yīng)的類型規(guī)則,比如email地址中沒有@符號,或者number型控件的輸入值不是有效的數(shù)字,那么瀏 覽器就會把這個控件標(biāo)記出來以提示類型不匹配。無論哪種出錯情況,typeMismatch將返回true。

3、patternMismatch

目的:根據(jù)表單控件上設(shè)置的格式規(guī)則驗證輸入是否為有效格式。

用法:在表單控件上設(shè)置pattern特性,井賦予適當(dāng)?shù)钠ヅ湟?guī)則。

示例:

<input type="text" name="creditcardnumber" pattern="[0-9]{16}" title="A credit
card number is 16 digits with no spaces or dashes">

詳細(xì)說明:pattern特性向開發(fā)人員提供了一種強(qiáng)大而靈活的方式來為表單的控件值設(shè)定正則表達(dá)式驗證機(jī)制。當(dāng)為控件設(shè)置了pattern特性后,只要 輸入控件的值不符合模式規(guī)則,patternMismatch就會返回true值。從引導(dǎo)用戶和技術(shù)參考兩方面考慮,你應(yīng)該在包含pattern特性的表 單控件中設(shè)置title特性以說明規(guī)則的作用。

4、tooLong

目的:避免輸入值包含過多字符。

用法:在表單控件上設(shè)置maxLength特性。

示例:

<input type="text" name="limitedText" maxLength="140">

詳細(xì)說明:如果輸入值的長度超過maxLength, tooLong特性會返回true。雖然表單控件通常會在用戶輸入時限制最大長度,但在有些情況下,如通過程序設(shè)置,還是會超出最大值。

5、rangeUnderflow

目的:限制數(shù)值型控件的最小值。

用法:為表單控件設(shè)置min特性,并賦予允許的最小值。

示例:

<input type="range" name="ageCheck" min="18">

詳細(xì)說明:在需要做數(shù)值范圍檢查的表單控件中,數(shù)值很可能會暫時低于設(shè)置的下限。此時,ValidityState的rangeUnderflow特性將返回true。

6、rangeOverflow

目的:限制數(shù)值型控件的最大值。

用法:為表單控件設(shè)置max特性,并賦予允許的最大值。

示例:

<input type="range" name="kidAgeCheck" max="12">

詳細(xì)說明:與rangeUnderflow類似,如果一個表單控件的值比max更大,特性將返回true。

7、stepMismatch

目的:確保輸入值符合min、max及step即設(shè)置。

用法:為表單控件設(shè)置step特性,指定數(shù)值的增量。

示例:

<input type="range" name="confidenceLevel" min="0" max="100" step="5">

詳細(xì)說明:此約束條件用來保證數(shù)值符合min、max和step的要求。換句話說,當(dāng)前值必須是最小值與step特性值的倍數(shù)之和。例如,范圍從0到100,step特性值為5,此時就不允許出現(xiàn)17,否則stepMismatch返回true值。

8、customError

目的:處理應(yīng)用代碼明確設(shè)置及計算產(chǎn)生的錯誤。

用法:調(diào)用setCustomValidity(message)將表單控件置于customError狀態(tài)。

示例:

passwordConfirmationField.setCustomValidity("Password values do not match.");

詳細(xì)說明:瀏覽器內(nèi)置的驗證機(jī)制不適用時,需要顯示自定義驗證錯誤信息。當(dāng)輸入值不符合語義規(guī)則時,應(yīng)用程序代碼應(yīng)設(shè)置這些自定義驗證消息。

自定義驗證消息的典型用例是驗證控件中的值是否一致。例如,密碼和密碼確認(rèn)兩個輸人框的值不匹配。只要定制了驗證消息,控件就會處于無效狀態(tài),并且customError返回true。要清除錯誤,只需在控件上調(diào)用setCustomValidity("")即可。

好了,以上就是HTML5中表單驗證的8種基本方法,希望對初學(xué)者有所幫助。也希望大家多多支持腳本之家。

標(biāo)簽:玉溪 煙臺 撫州 晉中 牡丹江 內(nèi)蒙古 安慶 邯鄲

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解HTML5中表單驗證的8種方法介紹》,本文關(guān)鍵詞  詳解,HTML5,中,表單,驗證,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解HTML5中表單驗證的8種方法介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于詳解HTML5中表單驗證的8種方法介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 女女同恋のレズビアンBD下载 | 亚洲一区二区三区| 香港三级日本三级a视频| 国产精品视频第一区二区| zoofilia杂交videos日本人| 男女无遮挡120动态图看光了| 十二寡妇性艳史在线观看| 男女一上一下抽搐的动态图| bbwfreehd女厕所ved| 成在线无码WWW樱花视频免费| 耽bl肉短篇高H| 色妞高清免费视频| 2021年国内精品久久久久精品| 日日碰狠狠添天天爽不卡| 丝袜hd| 在线欧美69v片免费观看视频| 国产青年摘花xxx| 亚洲精品国产精品乱码不97| 扒开腿猛烈进入的视频在线观看| 白丝jK校花娇喘求饶白浆露出| 欧美日韩国产色综合视频| 最好的中文字幕视频| 国产女人高潮毛片| 15??成人A片| 韩国美女裸体| 毛片一级片| 夫妻之间同房多久才算正常| 美女扒开胸罩??给男生图片 | 小sao货水好多真紧浪货视频| 好爽?好紧?再深一点网站 | 极品羞羞久久久久久久精品| 色偷偷少妇aⅴ| 麻豆第一页| 可以随意触摸内部位的手游| 啊轻点灬大巴太粗太长了视频| 欧美日韩国产一区二区三区| 国产精品不卡高清在线观看| 容城县| 原始武器电影完整版观看国语| 农村一级婬片A片AAA毛片古装| 成人毛片???91|