2

我无法完成这个 html5 表单验证。任何人请建议如何修复它。请参阅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}{5}用来告诉数字的数量,我只是把它写成\d\d\d\d?\d?需要三位数字,最后两位是可选的。

于 2012-10-05T06:25:57.523 回答