Самый чистый шаблон проектирования для отображения данных формы и ошибок проверки?

В реальных приложениях, если я использую фреймворк форм, я неизбежно в конечном итоге борюсь с ним.

Меня интересуют образцы передовой практики для создания форм на веб-сайте. Ссылка на реализации на любом языке была бы бонусом (обычно я работаю на Python). Меня особенно интересует проблема создания / отображения форм для конечного пользователя.

Вот как я вижу предмет. Большинство частей рабочего процесса форм можно обрабатывать с помощью относительно легких компонентов, которые я могу извлечь из таких фреймворков, как formencode и formish . Под «большей частью» я подразумеваю декодирование представленных данных формы в разумную структуру данных (например, повторяющиеся поля в форме должны стать списками в Python); маршалинг значений в типы, которые нам нужны (например, поле «age» должно стать целым числом); и проверка значений (например, «возраст не должен быть пустым»).

Бит, с которым я борюсь, создает и отображает сами формы. Многие фреймворки (например, FormAlchemy ) тесно связывают свои схемы, валидацию и модели с какой-то схемой генерации виджета формы, и т. д.) вручную в каждом из ваших шаблонов форм

Существуют ли другие шаблоны для решения проблемы? Каковы плюсы и минусы каждого из них?

Фреймворки (Python), на которые я смотрел / указывал до сих пор: flatland , formencode , FormAlchemy , formish , WTForms , Формы Django , web2py , deform , FormConvert [1113560560] и и

Обновление: Я не очень далеко ушел с ответом на вопрос о передовых методах создания форм, но в моем текущем проекте я принял решение перейти на деформацию / дуршлаг, что является разумным способом обработки сериализации и т. д., но, что более важно, он хорошо документирован и протестирован. Я собираюсь избегать генерации форм для всех, кроме простейших форм.

9
задан seb 3 March 2011 в 23:22
поделиться