Существует ли в природе form-builder (PHP) + validator (client+server) в одном флаконе?

Существует ли гибкий form-builder (PHP), позволяющий одновременно назначать правила для серверной и клиентской валидации?

Собственно вопрос о том, чтобы не повторять одну и ту же работу два раза, в частности на хабре уже была попытка осмысления этой проблемы и предложен один из выходов (вернее его прообраз) и как там правильно заметили:
основная мысль — генерация клиентской валидации на сервере


Например, для клиентской валидации и построения всяких вкусностей типа повторяющиеся блоки (к примеру zforms.ru/docs/repeatable-model/) есть красивые решения типа zforms.ru/ от разработчика интерфейсов компании Яндекс Дмитрия Филатова
Да и просто, для валидации полно плагинов с использованием jQuery.
В конце концов есть Vanadium: семантическая валидация на клиенте

Для построения форм и серверной валидации есть замечательная библиотека Алексея Борзова и, как поправил меня сам Алексей, — Bertrand Mansion: HTML_QuickForm2.

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

Дмитрий Филатов на мой вопрос есть ли обертка для построения таких форм ответил мне в МоёмКруге:
Есть не обертка на PHP, а xml-описание правил валидации, из которого строится с помощью xsl клиентский код и которое может быть использовано для серверной валидации.


Алексей Борзов на вопрос о дальнейшей судьбе HTML_QuickForm2 ответил:
HTML_QuickForm2 в альфе потому, что опять же недописана функциональность (а именно интеграция с жаваскриптом). Но в отличие от старой версии он почти на 100% покрыт тестами и по стабильности явно не хуже...


Другими словами, есть дикое желание подружить HTML_QuickForm2 и zforms.ru, но перед этим хотел бы поинтересоваться у «ленивых программистов», как они борются с ленью при построении форм и двойной работой по проверке вводимых данных?

update: вопрос решил путем запуска проекта jquickform.ru/
  • Вопрос задан
  • 6440 просмотров
Решения вопроса 1
Groove
@Groove Автор вопроса
Для истории: вопрос решил путем запуска проекта jquickform.aberdnikov.ru
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 8
@BaBL
Другими словами, есть дикое желание подружить HTML_QuickForm2 и zforms.ru, но перед этим хотел бы поинтересоваться у «ленивых программистов», как они борются с ленью при построении форм и двойной работой по проверке вводимых данных?

мы говорим себе: сделай это и сможешь скушать шоколадку. И сидим делаем.
Ответ написан
Комментировать
corristo
@corristo
делал что-то подобное для CodeIgniter, по серверным правилам генерились клиентские, которые уже скармливались упомянутому Vanadium.

Но до сложных форм не дошло.
Ответ написан
Комментировать
@Melz
Эту библиотеку не пробовали?
code.google.com/p/php-form-builder-class/
Примеры внизу страницы.
Ответ написан
Комментировать
gabriell
@gabriell
Не смотрели в сторону фреймворков? Например в codeigniter есть вариант и валидации и постороения формы — достаточно мощный!
Ответ написан
tzlom
@tzlom
использую самописную штуку для генерации правил валидации на основе вёрстки, правда валидатор только серверный
Ответ написан
Комментировать
@mr_idiot
А валидировать аяксом через серверную сторону не комильфо?
Ответ написан
ukko
@ukko
php, js (es6), golang, symfony, react
В Kohana есть и генератор форм и валидатор… Но вам, наверняка, нужно что-то отвязанное от фреймворков…
Ответ написан
Комментировать
Groove
@Groove Автор вопроса
Кстати, в SVN «HTML_QuickForm2» уже ведется работа по внедрению генерации скрипта клиентской валидации.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
30 нояб. 2021, в 14:15
3000 руб./за проект
30 нояб. 2021, в 14:09
2500 руб./в час
30 нояб. 2021, в 13:49
500 руб./за проект