Zend Framework содержит удобное средство рендеринга форм –
Zend_Form. Наиболее важными плюсами являются:
- средства валидации данных (большое количество валидаторов);
- средства фильтрации данных (например перевод дат в формат БД);
- рендеринг формы с использованием декораторов;
- экранирование выводимых данных.
Исходя из этого создать форму, обрабатываемую только серверной стороной не вызывает проблем. Однако сейчас этим уже никого не удивить. Отмечу, что Zend активно сотрудничает с Dojo для создания динамически обрабатываемых форм, но виджеты, разрабатываемые данной компанией, оставляют желать лучшего по сравнению с ExtJS. С этой точки зрения лучшим вариантом является корректировка рендеринга форм классом
Zend_Form.
Наиболее интересным выглядит симбиоз ExtJS и Zend. Встроенная валидация полей виджета
Ext.form.BasicForm может быть согласована с валидаторами серверной стороны. Здесь возможны существенные проблемы в виду использования различной философии при проверке полей. Например, в ExtJS использутся типы полей и дополнительные валидаторы, а в
Zend_Form присутствуют только валидаторы. Но эта проблема разрешима, т.к. в клиентской части мы можем создавать свои типы данных, соответствующие функциям проверки, которые реализованы в Zend.