Текст сообщения об ошибке будет браться из атрибута notice, если тот есть. Если у формы есть атрибут onsubmit, то стандартный скрипт валидации подцепляться не будет. Допустимые значения текстовых полей (text, password или textarea) определяются атрибутом pattern, значение которого в общем случае представляет из себя регулярное выражение, соотвествующее корректному значению поля. Ограничители писать не надо. Например значение этого поля должно начинаться с 'a', заканчиваться на 'c', и содержать внутри хотя бы один 'b' (^ab+c$).

Кстати, в старых Opera’ах (< 7) регулярные выражения вроде бы отсутвуют как класс.
Если атрибут pattern равен number, то в поле ожидается неотрицательное целое число
Если атрибут pattern равен url, то в поле ожидается URL. К сожалению, в регулярных выражениях я не очень силен, поэтому шаблон иногда сбоит. Так что перед использованием протестите
Если атрибут pattern равен string, то поле просто не должно быть пустым
Если атрибут pattern равен email, то в поле ожидается email адрес
Ошибка возникает при выборе OPTION’а с атрибутом notselected. Элемент с атрибутом select-multiple я еще не придумал как проверять (пока не было еще в этом нужды)
У любого из checkbox’ов можно указать атрибуты min, max и notice
Группа checkbox’ов с одинаковым именем
TEXTAREA проверяется так же, как и INPUT[@type = 'text']
У любого из radiobutton’ов можно указать атрибуты min, max и notice.
Причем, так как это radiobutton, а не checkbox, то min = max = 1
Группа radiobutton’ов с одинаковым именем
Элемент типа file я не придумал как проверять. Да и проверять его редко когда надо, разве что при закачке картинок. Но в их случае я пользуюсь превьюшками, а имя файла и расширение как правило интереса совсем не представляют
Значения полей типа image, button, submit, reset и hidden никак не проверяются