当前位置: 首页 > 面试题库 >

为什么我的“ oninvalid”属性会让模式失败?

傅砚
2023-03-14
问题内容

这个小的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 。

你能发现错误吗?


问题答案:

如果使用设置值,setCustomValidity()则该字段无效。设置非零长度的字符串会导致浏览器认为该字段无效。为了考虑任何其他验证的影响,您必须清除自定义有效性:

<input type="password" name="user_password_new" pattern=".{6,}" required
   oninvalid="setCustomValidity('Minimum length is 6 characters')" 
   oninput="setCustomValidity('')" />


 类似资料:
  • 这个小小的HTML5密码字段在没有on无效属性的情况下工作得非常好(模式是:至少6个字符): 请看这里的jsFiddle。 但是,当我添加一个oninvalid属性,当用户的输入不符合模式时,该属性会发出一条自定义错误消息,整个字段将永远无效,请参见此处的代码: 请看这里的jsFiddle。 你能找出错误吗?

  • 我编写了一个非常简单的Flink流媒体作业,它使用从Kafka获取数据。 这工作得很好,每当我在Kafka上将某些内容放入主题时,它都会被我的Flink作业接收并处理。现在我试图看看如果我的Flink作业由于某种原因不在线会发生什么。所以我关闭了flink作业并继续向Kafka发送消息。然后我再次开始我的Flink作业,并期望它会处理同时发送的消息。 然而,我得到了以下信息: 因此,它基本上忽略了

  • 我使用JavaFX Scene Builder1.1创建了一个FXML文件。默认情况下创建AnchorPane。为什么我不能修改resizable属性?

  • 适用套系这个li加了display:flex,列表的符号就没了,怎么能再显示出符号呢

  • 问题内容: 我刚刚安装了IE9 beta,并且在我创建的特定网站(HTML5)上,除非我手动告知IE9,否则IE9会跳至兼容模式。我曾尝试删除网站的多个部分,但没有任何变化。包括删除所有的CSS include。在我的其他网站上,一切正常。 另外,不要手动设置它,因为IE9会记住用户设置,并且您不能将其恢复为自动设置(或者至少我没有找到方法,甚至没有通过私有浏览和清空缓存) 无论如何。跳至兼容模式

  • 问题内容: 我有一个类MyThread。在那我有一个方法示例。我试图从相同的对象上下文中运行它。请看一下代码: 看起来很简单,不是吗。但是当我运行它时,我得到这个错误 现在,我就在那里使用该方法。那怎么了 请帮忙 编辑:这是堆栈跟踪 我这样称呼它 抱歉,我无法发布redisOps类代码。但我可以向您保证,它的效果很好 问题答案: 您的缩进已弄糟,并且您混用了制表符和空格。运行脚本进行验证。