用户通过验证后,删除reCaptcha的HTML5自定义错误消息

时间:2019-02-18 03:35:36

标签: javascript html5 recaptcha

我正在尝试基于以下答案: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,但是在最初显示之后,似乎无法使错误消息消失。

1 个答案:

答案 0 :(得分:0)

您可以根据this规范通过向novalidate元素添加form来禁用HTML5表单验证。

例如

<form action="..." onsubmit="check_if_capcha_is_filled" novalidate>