А вот ещё дивный контрол – Josh Bush разработал немного уродливую внешне, но очень работоспособную маску для ввода фиксированных значений.
Комментарии:
Aleks Ritov:
19 июня 2009 в 13:24
Ой, спасибо. Я хоть и не сторонник никих вещей, но тут как раз нужно подобное сделать (заставляют:), и я думал, что прийдется делать несколько импутов и стилями их плющить, как это делают товарщи из Билайна http://kvartplata.beeline.ru/pf.do?prv=38
А теперь ура!
Кстати, я считаю, что нужно давать людям обычное поле, а там уже разбирать регэкспами. Например, у меня на сайте когда нужно вводить номер телефона мы даем обычное поле https://www.mobi-money.ru/order/bee/ и внизу хинт 123, но! если пользователь введет дефисы, пробелы или даже 8 ивпереди, мы это ему простим и ничего не скажем.
Влад Головач:
19 июня 2009 в 14:55
Регекспы хороши, но такая маска резко сокращает число ошибок ввода благодаря встроенному показу формата и блокировкой неправильного ввода.
Aleks Ritov:
19 июня 2009 в 17:15
Пожалуй, но я рассуждаю иначе. Если пользователя сразу сильно ограничить, то это тоже плохо. Вот видит он такои и:
- мышкой куда тыкать, в скобочку или как (многие тыкают мышкой, даже если там мерцает курсор)
- я набираю букву, а там ничо не печатаецо. аааа. у меня сломалась клавиатура.
Поэтому я не ограничиваю, пусть вводят как хотят, а я скажу им, что они ошиблись БЕЗ перезакрузки страницы и заботливо переведу курсор в проблемное поле. Попробуйте набрать неверный номер телефона в приведенной выше ссылке.
Aleks Ritov:
19 июня 2009 в 17:16
ооо. сколько у меня опечаток. да каких! буквы даже не рядом стоят. вот они бессонные ночи )))
Сергей Белкин:
19 июня 2009 в 17:27
Ввод в немаскированное поле может быть потенциально опасен в ряде случаев (хотя и в маскированное тоже). Посягательство на свободу пользователя мне кажется оправданным, а вас избавит от многих проблем с разбором данных, написанием тонн валидационного кода.
По-моему, лучше задать себе вопрос, уверены ли вы, что учли все возможные варианты ввода? Что, если я введу букву “O” вместо “0″, скопирую телефон и вставлю его вместе со скобками или “+”-ом перед номером. Масса вариантов, а всего лишь обычное поле.
Кстати ваша форма отрабатывает далеко не все случаи.
Aleks Ritov:
22 июня 2009 в 09:16
Ага. Зато обрабатывает самые частые варианты (дефисы, пробелы, восьмерку). А остальное - чтобы не писать “тонн валидационного кода” :)
Естественно, что все подходы имеют право на жизнь, я просто своими комментариями пытался показать, что решение, о котором говорится в статье, хорошее, но не идеальное и существуют альтернативы. Но эти альтернативы, естественно, не без греха.
Станислав Рагозин:
25 июня 2009 в 12:50
Очень хорошо. Функционал что надо. Делали у себя что-то подобное на Microsoft Office Access. Не думал, что это проблема.
Aisaka:
31 марта 2011 в 09:35
Хм… а зачем они динамические? Не проще ли изначально поля для ввода сделать с подобными установками?
Комментарии:
Aleks Ritov:
19 июня 2009 в 13:24
Ой, спасибо. Я хоть и не сторонник никих вещей, но тут как раз нужно подобное сделать (заставляют:), и я думал, что прийдется делать несколько импутов и стилями их плющить, как это делают товарщи из Билайна http://kvartplata.beeline.ru/pf.do?prv=38
А теперь ура!
Кстати, я считаю, что нужно давать людям обычное поле, а там уже разбирать регэкспами. Например, у меня на сайте когда нужно вводить номер телефона мы даем обычное поле https://www.mobi-money.ru/order/bee/ и внизу хинт 123, но! если пользователь введет дефисы, пробелы или даже 8 ивпереди, мы это ему простим и ничего не скажем.
Влад Головач:
19 июня 2009 в 14:55
Регекспы хороши, но такая маска резко сокращает число ошибок ввода благодаря встроенному показу формата и блокировкой неправильного ввода.
Aleks Ritov:
19 июня 2009 в 17:15
Пожалуй, но я рассуждаю иначе. Если пользователя сразу сильно ограничить, то это тоже плохо. Вот видит он такои и:
- мышкой куда тыкать, в скобочку или как (многие тыкают мышкой, даже если там мерцает курсор)
- я набираю букву, а там ничо не печатаецо. аааа. у меня сломалась клавиатура.
Поэтому я не ограничиваю, пусть вводят как хотят, а я скажу им, что они ошиблись БЕЗ перезакрузки страницы и заботливо переведу курсор в проблемное поле. Попробуйте набрать неверный номер телефона в приведенной выше ссылке.
Aleks Ritov:
19 июня 2009 в 17:16
ооо. сколько у меня опечаток. да каких! буквы даже не рядом стоят. вот они бессонные ночи )))
Сергей Белкин:
19 июня 2009 в 17:27
Ввод в немаскированное поле может быть потенциально опасен в ряде случаев (хотя и в маскированное тоже). Посягательство на свободу пользователя мне кажется оправданным, а вас избавит от многих проблем с разбором данных, написанием тонн валидационного кода.
По-моему, лучше задать себе вопрос, уверены ли вы, что учли все возможные варианты ввода? Что, если я введу букву “O” вместо “0″, скопирую телефон и вставлю его вместе со скобками или “+”-ом перед номером. Масса вариантов, а всего лишь обычное поле.
Кстати ваша форма отрабатывает далеко не все случаи.
Aleks Ritov:
22 июня 2009 в 09:16
Ага. Зато обрабатывает самые частые варианты (дефисы, пробелы, восьмерку). А остальное - чтобы не писать “тонн валидационного кода” :)
Естественно, что все подходы имеют право на жизнь, я просто своими комментариями пытался показать, что решение, о котором говорится в статье, хорошее, но не идеальное и существуют альтернативы. Но эти альтернативы, естественно, не без греха.
Станислав Рагозин:
25 июня 2009 в 12:50
Очень хорошо. Функционал что надо. Делали у себя что-то подобное на Microsoft Office Access. Не думал, что это проблема.
Aisaka:
31 марта 2011 в 09:35
Хм… а зачем они динамические? Не проще ли изначально поля для ввода сделать с подобными установками?
Комментариев нет:
Отправить комментарий
Все комментарии проходят ручное модерирование