2010-12-31 8 views
6

HTML5の "email"フィールド(<input type="email"/>)を使用すると、多くのUA(ユーザエージェント/ブラウザ)が "有効な"(正規表現で)電子メールアドレスを使用せずにフォームを送信できなくなります。彼らはまた、疑似クラス:invalidを適用します。しかし、これは私自身の検証スキームとの矛盾、そして直接フィードバックの欠如は訪問者を混乱させる可能性があります。また、誰かがそれを提出しようとする前に、(Chrome 8では):無効が自分のフィールドに適用されます。私はこれが嫌いです。私はユーザーが間違いを犯したように見せますが、まだはありません。HTML5の "email"フィールドのUA検証を抑制することはできますか?

したがって、<input type="email"/>を使用して検証動作をトリガーすることはできませんか?

http://whatwg.org/html5#attr-fs-novalidateあなたが全体のフォーム

そこらの検証を無効にするために使用できると言う:irc.w3.org#HTML-WGのIRCの部屋のフィリップ・テイラー(Philip)によると

+2

あまり風変わりはしませんが、単にではありません。あなたが提供する継承機能を必要としない場合、なぜこのタイプを使用したいのですか? – spinon

+3

@spinon UAは他の方法で ''を自由に改良することができます - iOSデバイスを考慮してください。実際には別のキーボードを使用していますが、ユーザがメールフィールドを埋めているときに、スペースバーの一部が通常表示される '@'と '.'キーが見えます。 –

+0

ええ私はそれを書いた後、私はそれについて考えていました。デバイスに便利な機能があります。 – spinon

答えて

10

基本的にフォーム全体に属性としてnovalidateを適用することができます。また、検証を行わずにフォームを送信するための送信ボタンを指定することもできます。標準的な例は、まったく検証しない「保存の進行」ボタンです。その場合は、送信ボタン自体にformnovalidateを入力します。

+3

少なくともFirefoxでは、formnovalidateはバブル警告を防ぎますが、失敗した要素に赤の検証エラー「グロー」を追加します。これを修正するには、以下のように:invalid擬似クラス(またはブラウザ固有のもの)を使用します:https://developer.mozilla.org/en-US/docs/CSS/:invalid – nokturnal

関連する問題