这个小的 HTML5 密码字段在没有 oninvalid 属性的情况下完美工作(模式说:最少 6 个字符):
<form>
<input type="password" name="user_password_new" pattern=".{6,}" required />
<input type="submit" name="register" value="Register" />
</form>
请参阅此处的 jsFiddle 。
但是当我添加一个 oninvalid 属性时,当用户的输入不符合模式时会发出自定义错误消息,整个字段永远不会变为有效,请参见此处的代码:
<form>
<input type="password" name="user_password_new" pattern=".{6,}" oninvalid="setCustomValidity('Minimum length is 6 characters')" required />
<input type="submit" name="register" value="Register" />
</form>
请参阅此处的 jsFiddle 。
你能发现错误吗?