В опросе State of HTML узнал о том, что есть input.setCustomValidity(message)
https://survey.devographics.com/en-US/survey/state-of-html/2023
Этот метод позволяет показать произвольное сообщение об ошибке в стандартом окошке браузера об ошибке в поле (как для required).
https://developer.mozilla.org/en-US/docs/Web/API/HTMLObjectElement/setCustomValidity