Лучшее решение JavaScript для проверки формы и взаимодействия на стороне клиента? [closed]

Наши веб-формы действительно сложны. Какое отличное решение для расширяемой проверки форм, предпочтительно такое, которое работает с jQuery?

Справочная информация:

На нашем сайте есть немного Ajax, но в действительности основное внимание уделяется взаимодействию с пользователем с помощью примерно 20 многостраничных форм или мастеров . " Эти формы сложны.

  • Представление: Некоторые поля являются плавающими или целыми. Проверка означает удаление недесятичных символов, но мы также хотим убедиться, что, если пользователь вводит 5 в поле цены, поле обновляется до 5,00 .
  • Побочные эффекты: Некоторые поля имеют побочные эффекты при обновлении. Например, при обновлении цены или количества товара необходимо обновить поле промежуточного итога.
  • Элементы, управляемые виджетами: Некоторые поля скрыты и имеют значения, заполненные виджетами. Например, виджет карты позволяет указать местоположение, а скрытое поле обновляется координатами широта-долгота, но местоположение должно находиться в пределах определенного региона.
  • Группы: Некоторые поля являются группами, например адрес / город / state / zip, и его следует проверять только тогда, когда все поля заполнены.
  • Проверка на стороне сервера: Для проверки некоторых полей требуется внутренняя проверка с помощью запросов Ajax.
  • Несколько форм на странице: Иногда пользователю необходимо заполнить одну форму, прежде чем откроется диалоговое окно с другой формой. Фреймворк должен быть более универсальным, чем привязка к onSubmit - иногда мы публикуем несколько форм по порядку с одной страницы с помощью Ajax. (Например, мы позволяем пользователям регистрироваться и создавать виджет одним махом, но из-за устаревших систем этот поток требует двух запросов POST.)
  • Настраиваемое отображение ошибок: Иногда ошибки появляются над полями, иногда это стиль поля изменения, и наши новые разработки требуют всплывающих окон (например, qTip ) для некоторых ошибок.
  • Быстрота: Пользовательский опыт является ключевым, и важна тактильная обратная связь. Любое решение
  • Кнопки отправки: Нажатие кнопки отправки должно подтвердить все, а затем показать ответ, но поскольку некоторая часть проверки происходит асинхронно.

В настоящее время мы используем библиотеку jQuery Validation , но наши формы кажутся перерастая его возможности. Я смотрел на такие вещи, как , Knockout и Backbone.js , но меня беспокоит, что они слишком тяжелые или что они потребовали бы, чтобы мы переписали наш интерфейс.

(Это должна быть вики сообщества.)

52
задан a paid nerd 20 January 2011 в 09:44
поделиться