2

このhtml5フォームの検証を機能させることができませんでした。誰でもそれを修正する方法を提案してください。 入力ボックスの任意のキーを押すと、firebug コンソールに表示されるjsfiddleを参照してください。SyntaxError: invalid quantifier

    <form action="#" method="post" class="form-validate" id="bidform">

      <div class="input_wrapper">
         <input placeholder="Enter Zip Code" type="text" pattern="[0-9]{3,5}"
            oninvalid="setCustomValidity('Please enter valid zip')" id="zip" class="validate-numeric" required name="zip">
      </div>


      <div class="submit_row">
         <input class="submit" value="Submit a Bid!" type="submit" name="subbid">
      </div>
    </form>
4

2 に答える 2

4

パターンが無効のようです。5 桁を一致させようとしている場合は、"[0-9]{5}" だけが必要です。3 ~ 5 桁を一致させようとしている場合は、"[0-9]{3,5}" にする必要があります。

setCustomValidity() にも問題があるようです。一度呼び出された後、フォームを送信しようとすると常にエラーになります。

HTML5 フォーム検証のデフォルトのエラー メッセージを変更または削除するにはどうすればよいですか? を追加することでこれを修正できることを示唆していますonchange="try{setCustomValidity('')}catch(e){}"

于 2012-10-05T06:19:53.800 に答える
0

奇妙なエラーです。説明したように Firefox で表示されますが、Opera では問題なく動作します。とにかく、どういうわけか正規表現に関連しているように見えるので、少し変更すると、そこでもうまく機能しました。桁数を伝えるために使用する代わりに、3 桁を必須とし、最後の 2 桁をオプション{3}{5}として単純に記述しました。\d\d\d\d?\d?

于 2012-10-05T06:25:57.523 に答える