フォーム/サブミットコンテキストの外部でHTML5クライアント側の検証を使用しようとしていますが、検証エラーのバブルを表示する方法がわかりません。次のことを考えてみましょう:HTML5クライアント側の検証エラーのバブルをプログラムで表示する方法
<input type="text" id="input" pattern="[0-9]" required oninvalid="alert('yes, invalid')">
<button onclick="alert(document.getElementById('input').checkValidity())">Check</button>
すべてが期待通りcheckValidityから返される正しい値で、動作し、無効なイベントが送信され、表示されているが、どのように私はプログラム的に検証エラーのバブルが表示されていますか?
ありがとうございます。 ** checkValidityが呼び出されたときに、要素上であろうとフォーム上であろうと、気泡は表示されません**。 onsubmitイベントと一緒にフォームが送信されたときにのみ表示されるように見えます(実際にイベントが送信されないように、ハンドラからfalseを返すことができます)。 –
この受け入れられた回答は正しくありません。 Chrome 19,20、および21は、 'element.checkValidity()'を呼び出すときに検証バブルを表示しません。ユーザーがフォームを送信したボタンをクリックすると、エラーの最初の要素にはバブルで示されたエラーが表示されます。 –
@ScottR:修正された答えのテストケースを参照してください。なぜ私は答えが正しいとは思わないのか分かりません。 – Nickolay