5

JQuery Validate は、必要な属性をインターセプトします。

<input type="text" required />

これにより、フィールドのクライアント側の検証が強制されます。これは素晴らしいことです。現在、これも HTML5 仕様の一部であり、これをサポートするブラウザーは、JavaScript が無効になっている場合でも検証メッセージを表示します。

私のアプリケーションでは、満足しているサーバー側の検証を既に構築しているので、この動作を停止したいと考えています。私の質問は、この HTML5 フォームの検証を無効にするにはどうすればよいですか?

更新 多少の混乱があるようですが、基本的には、JQuery 検証がそれを解釈し、検証が実行されたことに満足しています。ただし、ユーザーが JavaScript を無効にしている場合は、既に記述したサーバー側の検証に検証をフォールバックさせたいと考えています。ただし、JQuery Validate と HTML5 は同じマークアップを共有するため、フォームを送信するのではなく、無効にしたい HTML5 検証メッセージを表示します。これは理にかなっていますか?

4

2 に答える 2

12

フォーム オブジェクトに novalidate パラメータを追加して、ブラウザによるフォームの検証を停止します。

<form action="test.do" novalidate>
   <input type="text" required />
</form>
于 2013-06-22T10:21:26.943 に答える
0

HTML5 準拠のブラウザーは、それを必須フィールドとしてネイティブに解釈するため、これを止める方法は実際にはありません。それを追加することで、これは必須です。

ここにあなたが試すことができるアイデアがあります。検証用の式を指定できる別の属性「パターン」があります。おそらく、これをすべて受け入れるようにすると、ブラウザーからの HTML5 検証はすべてを通過させ、jquery 検証を機能させることができます。

<input type="url" required pattern="*" />

私はこれをテストしていません。これは理論です。それが機能するなら、それは素晴らしいことです。;)

于 2013-06-20T20:51:47.683 に答える