html5属性模式是否有错误?

时间:2014-09-29 14:44:20

标签: html5

以下输入字段无法正常工作。

<input id="textinput" oninvalid="setCustomValidity('Die Eingabe ist zu kurz')" pattern=".{5}" maxlength="255" required="" name="input[1164]" type="text" class="form-control input-md " value="">

什么工作?

输入正确数量的字符并提交。

什么不起作用?

e.g。输入错误的金额,点击提交。显示预期的错误消息后,我无法达到正确数量的字符或填写正确的输入(如果它不取决于字符数)。

我用什么浏览器来验证这个错误?

Chrome和Firefox,每个都是最后一个稳定版本。

想要看到它吗?

http://jsfiddle.net/0efurqa9/

1 个答案:

答案 0 :(得分:3)

答案已存在:)

HTML5: Why does my "oninvalid" attribute let the pattern fail?

如果您使用setcustomvalidity设置字段,则您的字段无效...并且STAYS无效。您需要使用oninput="setCustomValidity('')"将行为强制恢复为原始行为,如下所示:

<form>
  <input id="textinput" 
    oninvalid="setCustomValidity('Die Eingabe ist zu kurz')" 
    oninput="setCustomValidity('')" required="required" pattern=".{5}" 
    maxlength="255" name="input[1164]" type="text" class="form-control input-md " 
    value="">
  <input type="submit">
</form>

此外:

  • 我建议使用required="required"代替required=""
  • 注意:Internet Explorer 9和Safari中不支持此属性。