Удалить пользовательское сообщение об ошибке HTML5 для reCaptcha после того, как пользователь пройдет проверку - PullRequest
0 голосов
/ 18 февраля 2019

Я пытаюсь опираться на этот ответ: 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 голосов
/ 18 февраля 2019

Вы можете отключить проверку формы HTML5, добавив novalidate к элементу form в соответствии с этой спецификацией.

Например

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