首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

显示自定义错误消息后,oninvalid setCustomValidity字段将不会生效

当在表单中使用HTML5的表单验证时,可以使用oninvalid和setCustomValidity来显示自定义的错误消息。但是,如果在设置了自定义错误消息后,再使用oninvalid来修改setCustomValidity字段,那么自定义错误消息将不会生效。

这是因为oninvalid事件在验证失败时触发,并且浏览器会检查setCustomValidity字段的值来确定错误消息的内容。如果在oninvalid事件中修改了setCustomValidity字段的值,浏览器会重新计算错误消息,并且会忽略之前设置的自定义错误消息。

解决这个问题的方法是,在修改setCustomValidity字段之前先检查其值是否为空。只有当setCustomValidity字段为空时,才可以设置自定义的错误消息。以下是一个示例代码:

代码语言:txt
复制
<form>
  <input type="text" id="name" required oninvalid="checkValidity()">
  <button type="submit">Submit</button>
</form>

<script>
function checkValidity() {
  var input = document.getElementById("name");
  if (input.setCustomValidity === "") {
    input.setCustomValidity("Please enter a valid name.");
  }
}
</script>

在上面的示例中,当用户提交表单且名称字段为空时,浏览器会显示默认的错误消息。然后,在oninvalid事件中,会检查setCustomValidity字段的值是否为空。如果是空的,就会设置自定义的错误消息。

这样,即使之前设置了自定义错误消息,也会被覆盖掉,确保显示的是最新的错误消息。

在腾讯云的产品中,与表单验证相关的服务有腾讯云API网关。它是一种全托管的API网关,可以轻松构建、部署、运营和扩展API,同时提供了丰富的监控和日志功能。您可以通过以下链接了解更多信息:

腾讯云API网关:https://cloud.tencent.com/product/apigateway

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • HTML 交互式表单验证

    如果有哪怕一个表单控件违反了约束,WebKit 就会将输入焦点放到第一个上面,界面页面滚动显示出这个控件,然后在其旁边显示一个气泡消息来对问题进行解释。  ...自定义约束   使用 JavaScript 来做验证然后利用 setCustomValidity() API 的话,可以实现更加复杂的验证约束或者向校验出违反约束的输入项提供更加有用的错误消息。   ...然后被执行的 JavaScript 代码可以对表单控件的数据进行验证,然后使用 setCustomValidity() 来对控件的错误消息进行更新: Feeling...input.setCustomValidity(''); } }  验证消息气泡提示   在进行交互式表单验证的时候, 一个针对问题进行说明的气泡提示显示在第一个拥有被验证违反约束的数据的表单控件旁边...针对特定的约束默认设置了一些本地化的验证消息。如果你希望对验证消息进行自定义, 可以考虑使用 setCustomValidity() API。

    2.2K30

    Salesforce LWC学习(二十六) 简单知识总结篇三

    背景:我们在前端开发的时候,经常会用到输入框,并且对这个输入框设置 required或者其他的验证,当不满足条件时使用自定义的UI或者使用标准的 input的 setCustomValidity等操作方式去进行...输入框移入再移出,因为项目有必填字段的要求,所以会展示让你完成这个字段的填写 ? 2. 输入内容,焦点还在输入框中情况下,仍然展示要求必填的信息 ? 3....有一些客户很挑剔,希望的是当输入内容以后就要将红色标记移出,因为当前的输入框已经是有值的状态,当然这个很好实现,salesforce lwc给我们提供了 setCustomValidity方法,设置内容为空...优化的 inputRequiredTest.js import { LightningElement, track } from 'lwc'; export default class InputRequiredTest...篇中有错误地方欢迎指出,有不懂欢迎留言。有其他实现方式不吝赐教。

    86850

    HTML事件属性--DOM

    或者关闭浏览器,可以在浏览器触发事件 window.onbeforeunload = function(){ return "提示" //返回的内容不会显示..., //在刷新的时候触发,或者关闭浏览器,浏览直接提示是否重新加载,不能直接返回return } demo查看 3.onerror 当图片出错是可以触发该事件...5.onload 页面加载完成之后触发 demo查看 6.onmessage 在消息被触发时运行 ???...oninvalid事件要搭配required属性来使用 required如果使用该属性,代表必填字段oninvalid是当元素无效时触发的事件 <input type="text...+= 1 } 这个案例---滑动滚动计数 demo查看 区别: 1.wheel在滚轮滑动的时候有效,鼠标拖拽的时候无效 2.onscroll不管在滑动还是拖动的时候,均<em>生效</em>

    3.8K20

    BI错误处理。

    将正确的数据类型添加到表中的所有列,下图显示了最终表的外观。...所有 Errors.Value — 如果 标准速率 列中的值没有错误,则此列将显示 标准速率 列中的值。 对于出现错误的值,此字段将不可用,在展开操作期间,此列将具有 null 值。...所有 Errors.Error — 如果 标准速率 列中的值出错,则此列将显示 标准速率 列中的值的错误记录。 对于没有错误的值,此字段将不可用,在展开操作期间,此列将具有 null 值。...若要进一步调查,可以展开 “所有 Errors.Error ”列以获取错误记录的三个组件:错误原因错误消息错误详细信息执行展开操作, “所有 Errors.Error.Message ”字段显示特定错误消息...错误消息派生自错误记录的 “错误消息字段

    2.8K30

    一步HTML5教程学会体系

    accesskey 用户自定义 定义访问元素的快捷键 align right,left,center 水平对齐标签 background url 在元素后面设置一个背景图像 bgcolor...valign top,middle, bottom HTML元素内标签的垂直对齐方式 事件 offline 文档进入离线状态时触发 onabort 事件中断时触发 onafterprint 文档被打印触发...窗口获得焦点时触发 onformchange 表单变化时触发 onforminput 表单获得用户输入时触发 onhaschange文档变化时触发 oninput 元素获得用户输入时触发 oninvalid...载入文档时触发 onloadeddata 载入媒体数据时触发 onloadedmetadata 媒体元素的媒体数据载入时触发 onloadstart浏览器开始载入媒体数据时触发 onmessage消息被触发时触发...hidden 默认不显示给用户的任意字符串。 select 枚举值,类似 radio 类型。 textarea 自由形式的文本字段,名义上没有换行的限制。

    1.2K20

    HTML5表单及其验证

    不过有了placeholder,新的浏览器就内置了这一功能,其特性值以浅灰色样式显示在输入框中,当输入框获得焦点并有值,该提示信息自动消失。...类型 作用 on 该字段无需保护,值可以被保存和恢复 off 该字段需要保护,值不可以保存 unspecified 包含的默认设置,如果没有被包含在表单中或没有指定值,则行为表现为on 如...再次访问,name的输入框提示你曾输入的值,而email则不会提示。...表单验证 表单验证是一套系统,它为终端用户检测无效的数据并标记这些错误,是一种用户体验的优化,让web应用更快的抛出错误,但它仍不能取代服务器端的验证,重要数据还要要依赖于服务器端的验证,因为前端验证是可以绕过的...= pass2.value) pass1.setCustomValidity("两次输入的密码不匹配"); else pass1.setCustomValidity

    1.8K40

    Salesforce LWC学习(二十一) Error浅谈

    篇中的内容实现如下: trigger / validation rule / lookup filter等 DML错误认为是自定义异常,需要展示在画面,告诉用户这些消息,以便让他们知道更好的去操作数据。...接下来考虑自定义的处理。自定义处理有两种方式,一种是无表单DML操作,展示toast信息。另一种是有表单,在头部或者字段处展示错误信息。根据这些简单信息进行强化。 一....实装校验是否有Error的工具类 这里errorCheckUtils组件封装了以下的功能: isSystemOrCustomError:校验当前的错误是属于系统异常还是属于自定义异常。...我们在这里声明的自定义的异常为 validation rule / trigger或者是restrict或者是有 lookup filter的类型的字段,其他类型的异常我们归为系统异常,将会跳转到自定义...getPageAndFieldCustomErrorMessageList:获取页面和字段级别总计的错误信息。

    1.1K10

    开源低代码平台,JeecgBoot v3.7.1 大版本发布

    ,增加快速定位字段功能online 字段查询配置支持设置默认模糊查询高级查询增加为空和非空两个条件online 数据权限配置,系统变量表达式错误修复online 图片导出改为文本导出,不再导出图片Online...・Issue #63653.7.0 数据权限自动生成的系统变量前缀错误・Issue #6963druid 数据库密码加密,同步数据库 -> 普通同步(保留表数据)报错・Issue #6889小铃铛不提示...解析提示签名验证失败错误,恢复默认签名密钥串使用正常・Issue #6941JVxeTable addRows 表格数据错误・Issue #7013JVxeTable 表格 Column 配置 formatter...#7008报表下钻的时候,传递过去的参数并未生效,使用的是参数默认值・Issue #2702原生 vue3 设置排序字段生效报错・Issue #6937开启多租户 Swagger/Knife 在线接口文档调试提示无权限...导致转换失败,使用自定义数据处理器也不行。esaypoi 可以正常转换。

    13110

    说说几个 API 和应用案例

    key 是为了“上锁”,如果不上锁,多次点击 start 按钮页面会滚动的越来越快。而使用了 key 变量只有第一次点击 start 按钮才起作用。点击 stop 按钮再把锁解开。...自定义错误消息 我们可以自定义验证错误的信息,但这需要 JavaScript 的介入。比如下面的 input 标签,使用了 pattern 作为验证依据。...但这种提醒是模糊的,要想自定义消息。...可以使用 JavaScript 自定义消息,或者使用下面的 API: <input type="text" id="nickname" name="nickname" pattern...customError 该元素的自定义有效性消息已经通过调用元素的 setCustomValidity() 方法设置成为一个非空字符串; patternMismatch 该元素的值与指定的 pattern

    1.8K20

    关于“Python”的核心知识点整理大全64

    开发项目时,Django的错误页面向你显示了重要的调试信息,如果将项目 部署到服务器依然保留这个设置,将给攻击者提供大量可供利用的信息。...下面来修改settings.py,以让我们能够在本地看到错误消息,但部署到服务器显示任何 错误消息: settings.py --snip-- # Heroku设置 if os.getcwd...如果你没有看到这样的消息,说明有未提交 的修改,而这些修改将不会推送到服务器。...20.2.17 创建自定义错误页面 在第19章,我们对“学习笔记”进行了配置,使其在用户请求不属于他的主题或条目时返回 404错误。你可能还遇到过一些500错误(内部错误)。...然后,我们提交所做的修改(见2),并将修改的项目推送到Heroku(见3)。 现在,错误页面出现时,其样式应该与网站的其他部分一致,这样在发生错误时,用户将不 感到突兀。 4.

    9810

    Angular17 使用 ngx-formly 动态表单

    : 到目前不通过验证的字段仅仅是通过边框颜色的改变的区分,现在就为字段添加自定义的验证消息自定义验证消息同时支持字符串和函数两种方式设置; 全局注册自定义验证消息,需要在 FormlyModule 注册时通过...同级添加自定义验证函数,同时还要通过 options.errorPath 设置显示验证消息字段: { validators: { validation: [ {...name: 'fieldMatch', // 设置 checkPassword 字段才会在触发验证时显示验证消息 options: { errorPath: 'checkPassword...隐藏/显示字段: 如果需要使前面加入的确认密码字段在输入密码字段显示时就需要使用 expressions.hide 来控制隐藏或显示: { key: 'checkPassword', type...model.password', }, } PS:hide 是框架显示提供的属性,props.disabled 是继承自组件的属性; 强制显示错误状态: 使用 formState 可以实现字段之间的通信

    65010

    第十五章:使用SpringBoot validator让数据更真实

    图4 上图4可以看到我在控制器中注入了一个MessageSource的接口对象,这个对象是用于格式化错误消息的。...根据传入的错误字段对象(FieldError)结合hibernate-validator验证的内置错误消息文件进行输出错误消息,hibernate-validator的错误消息支持国际化,所以我们获取错误消息的时候需要传入...图7 可以看到验证框架准确无误的输出了对应字段错误消息,那我们接下尝试输入一个正确的地址呢?如下图8所示: ?...图10 自定义验证实现类里面有两个方法,分别是初始化验证消息、执行验证。 初始化验证消息方法内你可以得到配置的注解内容,而验证方法则是你的验证业务逻辑。...图12 我们自定义的注解已经生效了,我们传入一个正确的值,再次访问地址,界面输出内容如下图13所示: ? 图13 验证通过,自定义注解已经生效没毛病。

    69330
    领券