2012-05-23 4 views
2

Просто интересно, существуют ли различия между формами zend и нормальными форматами html?Разница между формой Zend и нормальными форматами HTML Zend Framework

Я узнал, что мы можем просто добавить HTML-формы в файл вида, и он работает, однако функция isValid элементов формы не работает для обычных HTML-форм. Есть ли другие отличия?

Я создаю приложение Zend Framework в первый раз, и его довольно сложно играть с css в zend-формах, поэтому мне было интересно, могу ли я использовать обычные формы при использовании функций проверки zend, например isValid?

+0

Вы можете использовать все, что захотите. Zend Framework - это всего лишь леса, если вы не хотите использовать свои конкретные компоненты, вы можете это делать, но если вы используете их компоненты, вам будет проще объединиться с остальной частью структуры или другими компонентами , – Amarnasan

ответ

3

От Zend Form manual

Zend_Form упрощает создание форм и обработки в вашем веб-приложений. Он выполняет следующие задачи:

Элемент фильтрации входных данных и проверка

Элемент заказа

элемент и форма визуализации, в том числе избежать

элемента и форма группировки

элемента и конфигурации формы уровня

Это третий пункт Element and Form rendering, including escaping, который дает большинству людей проблемы из-за разметки, поэтому они оставляют Zend Form, но также должны отказаться от удобства других.

Однако вы можете использовать лучшее из обоих миров с помощью декоратора viewScript. Мой ответ here дает пример того, как это сделать, поэтому я не буду повторять здесь.

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

HTML-формы - это просто разметка, которая не имеет функциональности, если вы ее не пишете самостоятельно. Zend Form будет производить эту разметку для вас, или вы можете произвести ее самостоятельно, как показано в связанном ответе.

Для получения дополнительной информации вы можете прочитать эту статью о Decorators with Zend_Form от Мэтью Вейера О'Пинни, ведущего разработчика Zend Framework.

+0

Спасибо за ответ. Я предполагаю, что я буду использовать элемент формы zend, поскольку они обеспечивают все функции, такие как проверка, фильтрация, упорядочение, группировка. Благодарим вас за ссылку на ссылку и укажите ее. – Prakash

1

Если вы хотите, вы можете смешивать их. Вы можете добавлять правила проверки к элементам и элементам в формы и проверять их на форму или каждый элемент формы. Но вам не нужно отображать форму (за исключением формы с Zend_Form_Element_Hash или как.)

<?php 

$form = new Zend_Form; 
$form->setMethod('GET'); 

$e1 = new Zend_Form_Element('first'); 
    $e1->setRequired(true); 
$e2 = new Zend_Form_Element('second'); 
    $e2->setRequired(true); 
$submit = new Zend_Form_Element_Submit('submit', array(
     'label' => 'Do something' 
    )); 
$form->addElements(array($e1, $e2, $submit)); 

if(isset($_GET) && count($_GET)) { 
    if ($form->isValid($_GET)) { 
     echo 'Valid'; 
    } else { 
     echo 'Invalid'; 
    } 
} 

?> 
<form method="get" action=""> 
    First:<input type="text" name="first" id="first" value=""> 
    Second:<input type="text" name="second" id="second" value=""> 
    <input type="submit" name="submit" id="submit" value="Go for it"> 
</form>