Привет я нахожу исключительное решение, у меня есть та же проблема как 47k другие & я обнаруживаю решение без других плагинов jQuery или библиотек: - в первую очередь, мы должны зарегистрировать наш вход в переменной, - тогда на изменении checkValidity (), если true:mean, если действительный мы поручаем зарегистрированному вару на наш вход оставлять его для следующего изменения.
ivar=$('input[name="y-i-name"]')[0];
$('input[name="y-i-name"]').on('change',function(){
if($('input[name="y-i-name"]')[0].checkValidity()){
// your custom code here!
$('input[name="y-i-name"]')[0]=ivar; // & now we rest the input for next change validation
}
});