В опросе State of HTML узнал о том, что есть input.setCustomValidity(message)
survey.devographics.com/en-US/

Этот метод позволяет показать произвольное сообщение об ошибке в стандартом окошке браузера об ошибке в поле (как для required).
developer.mozilla.org/en-US/do