Позвольте мне сначала сказать, мы проверяем каждое поле на стороне сервера, так что это вопрос
о удобстве использования на стороне клиента.
Каков обычный подход к , когда проверяет и форматирует поля ввода html-формы с использованием javascript?
Например, у нас есть поле номера телефона. Мы допускаем числа, пробелы, скобки и дефисы. Мы хотим, чтобы в поле было десять цифр. Кроме того, мы хотим, чтобы поле выглядело как (123) 456-7890, даже если пользователь не вводит его таким образом.
Кажется, мы можем
- Подтвердите и отформатируйте его, когда пользователь
выходит из поля.
- Проверить и отформатировать
на каждый введенный символ.
- Перехватывать нажатия клавиш и предотвращать
пользователь вводит неправильные символы.
- Некоторая комбинация вышеперечисленного (например,
форматировать при входе и проверять при выходе, запрещать при входе и форматировать при выходе и т. д.)
- [ Добавлено ] Подождите и выполните все проверки и форматирование, когда пользователь нажимает кнопку Отправить.
Я видел, как все это делалось, но я не могу найти информацию о том, что
лучше (или даже общепринятый) с точки зрения юзабилити и, что более важно, почему.
[ Редактировать : некоторые пояснения]
Мы абсолютно не соблюдаем какие-либо стандарты формата. Когда я говорю «формат», я имею в виду, что мы будем использовать javascript, чтобы переписывать вещи, чтобы они выглядели красиво. Если пользователь введет 1234567890, мы изменим его на (123) 456-7890. Не существует «правил форматирования», которые могут не сработать.
Я отличаю это от проверки, потому что, если они не набирают достаточно чисел, мы должны заставить их исправить это.
Полагаю, мне следует перефразировать вопрос следующим образом: "Каково общепринятое мнение о том, когда именно проверять и когда именно форматировать?"
Хорошая информация в ответах до сих пор!
РЕДАКТИРОВАТЬ : Я принимаю мой собственный ответ ниже в надежде, что другие найдут ссылку столь же полезной, как и я.