От автора: создание форм в HTML всегда было сложным занятием. Сперва необходимо написать разметку, затем проверить значения полей перед отправкой и, наконец, нужно уведомить пользователя о проблемах, если таковые возникли. К нашему общему счастью в HTML5 были представлены новые возможности, упрощающие валидацию форм. В частности, поля формы теперь поддерживают условия, что позволяет браузеру проводить валидацию контента форм на стороне клиента без задействования JS.
В webkit браузерах уже была частичная поддержка условий. Раньше для описания условий можно было использовать атрибуты полей формы, после чего проверять отдельные поля или всю форму на валидность через checkValidity() API в JS. ValidityState API также позволял определять конкретное поле, где было нарушено условие валидации.
Однако webkit браузеры не поддерживали интерактивную валидацию HTML форм, которая должна срабатывать в момент отправки формы (если тегу