Текст сообщения об ошибке будет браться из атрибута 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 никак не проверяются |