主頁(yè) > 知識(shí)庫(kù) > HTML5 表單驗(yàn)證失敗的提示語(yǔ)問(wèn)題

HTML5 表單驗(yàn)證失敗的提示語(yǔ)問(wèn)題

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

前言

前端的童鞋在寫頁(yè)面時(shí), 都不可避免的總會(huì)踩到 表單驗(yàn)證 這個(gè)坑. 這時(shí)候, 我們就要跪了, 因?yàn)橐獙懸欢?js 來(lái)檢查. 但是自從 H5 出現(xiàn)后, 很多常見的 表達(dá)驗(yàn)證 , 它都已經(jīng)幫我們實(shí)現(xiàn)了, 讓我們減輕了很多負(fù)擔(dān), 就好像下面的:

郵箱地址驗(yàn)證:
 

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <form action="">
        <label >
            郵箱: <input type="email">
        </label>
        <input type="submit">
    </form>
</body>
</html>

郵箱驗(yàn)證是 H5 自身支持的, 但是我們要驗(yàn)證的場(chǎng)景和情況是多種多樣的, 那該怎么辦? 用回 Js 嗎? 很明顯沒(méi)這么蛋疼, 因?yàn)?H5 提供了 pattern 屬性, 讓我們自食其力! 我們可以在 pattern 指定正則表達(dá)式, 只要正則寫的好, 驗(yàn)證就沒(méi)煩惱!

正則限定11位數(shù)字:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <form action="">
        <label >
            數(shù)字: <input type="text" pattern="^\d{11}$">
        </label>
        <input type="submit">
    </form>
</body>
</html>

問(wèn)題

大家可以嘗試下, 在輸入非11位的數(shù)字, 都會(huì)報(bào)錯(cuò), 這就是 pattern 的功勞. 但是不知道大家發(fā)現(xiàn)了一個(gè)蛋疼的現(xiàn)象沒(méi)? 就是如果咱們使用 pattern 的方式去驗(yàn)證表單, 在驗(yàn)證失敗時(shí), 它的提示都是 請(qǐng)與所請(qǐng)求的格式保持一致 , 我的天, 我們的用戶怎么知道所請(qǐng)求的格式是什么鬼, 總不能讓他們?nèi)タ丛创a吧, 要真這樣, 我們連頁(yè)面都不用寫了, 直接讓他們把錢給我們得了, 開個(gè)玩笑~

解決方案

有問(wèn)題, 咱們就得解決, 在面向谷歌編程許久, 終于覓得一良方:

oninvalid:提交的input元素的值為無(wú)效值時(shí)(這里是正則驗(yàn)證失敗),觸發(fā)

oninvalid事件。oninvalid屬于Form 事件。

setCustomValidity():這個(gè)是HTML5內(nèi)置的JS方法,用來(lái)自定義提示信息

原來(lái)可以通過(guò) oninvalid 和 setCustomValidity 來(lái)自定義提示, 那這就好辦了, 修改源代碼如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Test</title>
</head>
<body>
    <form action="">
        <label >
            數(shù)字: <input type="text" pattern="^\d{11}$" oninvalid="setCustomValidity('請(qǐng)輸入11位數(shù)字')">
        </label>
        <input type="submit">
    </form>
</body>
</html>

結(jié)果:

終于不是那個(gè)蛋疼的"格式"了, 現(xiàn)在表單驗(yàn)證提示已經(jīng)很明確的告訴我們, 這里應(yīng)該輸入的是什么樣的數(shù)據(jù), 這樣用戶就能更好的修改自己的輸入了!

以上所述是小編給大家介紹的HTML5 表單驗(yàn)證失敗的提示語(yǔ)問(wèn)題,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《HTML5 表單驗(yàn)證失敗的提示語(yǔ)問(wèn)題》,本文關(guān)鍵詞  HTML5,表單,驗(yàn)證,失,敗的,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《HTML5 表單驗(yàn)證失敗的提示語(yǔ)問(wèn)題》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于HTML5 表單驗(yàn)證失敗的提示語(yǔ)問(wèn)題的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章