我關心與表單相關的兩個 HTML 屬性的一致性和責任:
pattern: 指定要匹配的正則運算式type: 指定要呈現的控制元件型別
我認為這兩個屬性的使用可能是多余的,有時甚至會導致不一致。
這是一個冗余示例:
<input
type="email"
pattern=". @. " />
這是一個不一致的示例(因為一個值不能既是電子郵件,又不能是 3 個字母字符):
<input
type="email"
pattern="[A-Za-z]{3}" />
你會如何解釋這個?我錯過了什么嗎?
我的解釋可能不正確(或者這些屬性之一可能太多,可以從 HTML 中洗掉)。感謝您的見解。
uj5u.com熱心網友回復:
我錯過了什么嗎?
是:該pattern=""屬性可用于對 <input type="email">用戶提供的任何電子郵件地址設定附加限制。
例如,假設 Google 的 GMail 設定頁面<input type="email">允許用戶指定另一個 Gmail 用戶進行郵箱委托或向他們發送內部 GMail 專屬生日電子賀卡或同樣愚蠢的東西 - 在這種情況下,他們將使用pattern=""只接受已知 Google的- 擁有的 GMail 域名,即:
<input type="email" pattern=".*?@gmail\.(com|de|co\.uk)$" title="Google-owned Gmail domain-names only." />
順便說一句,HTML 規范建議無論何時pattern=""使用,title=""也提供了它解釋了對最終用戶的限制:
當控制元件具有
pattern屬性時,該title屬性(如果使用)必須描述模式。還可以包括附加資訊,只要它幫助用戶填寫控制元件即可。否則,輔助技術將受損。
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/529276.html
標籤:html形式验证前端
