Условные правила проверки формы HTML5
Мне интересно, можно ли установить элемент "требуется" на основе какого-либо другого состояния элемента. Например, скажем, у меня есть элемент ввода, который я хочу, чтобы он был "обязательным", если и только если пользователь установил определенный флажок. Во-первых, возможно ли это сделать без использования JavaScript? Во-вторых, если мы используем JavaScript, конечно, можно установить правило / проверку, если пользователь установит этот флажок, но как насчет согласованности в отношении ошибок проверки браузера по умолчанию? Было бы "правильно" добавить атрибут "required" к элементу после того, как установлен флажок? Я не вижу альтернативы здесь. Что вы думаете об этом?
2 ответа
Я не думаю, что вы можете сделать это без JavaScript.
С javascript вы могли бы сделать это достаточно легко.
Я бы добавил required
атрибут только после нажатия флажка.
На самом деле, я бы сделал это toggled
кусок, так что пользователь может снять и отменить запрос ввода.
Однако я бы не стал полагаться на реализацию браузером required
приписывать. Вместо этого я бы создал собственное обязательное уведомление с использованием некоторого CSS (выделение, анимация, отображение некоторых слов).
Вы можете использовать полифилы для эмуляции собственной проверки, когда она недоступна:
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills