javascript - 用户通过验证后删除 reCaptcha 的 HTML5 自定义错误消息
问题描述
我正在尝试以这个答案为基础:https ://stackoverflow.com/a/37048027
答案有效,但我想输入自定义 HTML5 验证错误消息,因此我将 javascript 扩展为:
window.onload = function() {
var $recaptcha = document.querySelector('#g-recaptcha-response');
if($recaptcha) {
$recaptcha.setAttribute("required", "required");
$recaptcha.setAttribute("oninvalid", "this.setCustomValidity('Please fill in the reCAPTCHA field.')");
$recaptcha.setAttribute("oninput", "this.setCustomValidity('')");
}
};
问题是如果验证错误显示一次,它总是在之后显示并且永远不会消失。我尝试添加 oninput、onvalid 和 onchange,但在初始显示后我似乎无法让错误消息消失。
解决方案
您可以根据此规范通过添加novalidate
到元素来禁用 HTML5 表单验证。form
例如
<form action="..." onsubmit="check_if_capcha_is_filled" novalidate>
推荐阅读
- api - SoundCloud API 请求 302 和 404 - 已撤销的 Clienti ID?
- firebase - Flutter Firebase Cloud Firestore 如何使用子集合过滤带有 where() 查询的流
- python - 如何处理序列项 0 错误?
- php - 在PHP中求和mysql数组
- node.js - Browsersync 不再有效
- javascript - Angular routerlink 导航到简单页面而不是页面/页面
- python - 将错误值附加到另一个列表中的问题
- php - 更新 mysql 表,查询自动生成的表单中的值
- flutter - 我尝试用颤振连接我的数据库 Atlas MongoDB,但它不起作用
- java - 标记的标注不在谷歌地图的中心