html5 oninvalid nie działa po naprawieniu pola wejściowego

Mam ten kod wejściowy w mojej formie:

<input maxlength="255" id="information_name" name="information[name]" oninvalid="check(this)" placeholder="Nombre Completo" required="required" size="30" style="width:528px;height:25px;" tabindex="3" type="text">

Zmieniam nieprawidłową wiadomość za pomocą tego kodu javascritp:

<script>
 function check(input) {
   if (input.value == "") {
     input.setCustomValidity('Debe completar este campo.');
   } else  {
     input.setCustomValidity('Debe corregir este campo.');
   }

 }
</script>

Oto problem, jeśli kliknąłem na przycisk Wyślij i pole jest puste, pole przeskoczy błąd, więc muszę wypełnić pole, ale po wypełnieniu pola nadal otrzymuję ostrzeżenie, nawet jeśli wypełnienie nie jest puste.

Co robię źle ??

questionAnswers(4)

yourAnswerToTheQuestion