Любая идея, как просто создать форму с Zend_Form и jquery? Я хочу использовать Zend_Form для проверки формы, поэтому мне не нужно иметь двойную script форму в JavaScript и PHP.
Спасибо,
Иво Тромперт
Любая идея, как просто создать форму с Zend_Form и jquery? Я хочу использовать Zend_Form для проверки формы, поэтому мне не нужно иметь двойную script форму в JavaScript и PHP.
Спасибо,
Иво Тромперт
Нет проблем.
Добавьте ZendX_JQuery в свою библиотеку, если вы используете автозагрузку.
Затем добавьте ZendX_JQuery_Form к вашим потребностям. Сделайте свой материал в методе init() вашего класса.
Например, мне удалось создать поле автозаполнения с регулярной проверкой Zend_Form и JQuery следующим образом:
$elem = new ZendX_JQuery_Form_Element_AutoComplete(
'query',
array('Label' => 'Search',
'required'=>true,
'filters'=>array('StripTags'),
'validators'=>array(
array('validator'=>'StringLength',
'options'=>array('min'=>'3'),
'breakChainOnFailure'=>true
),
array('Alnum')
)
)
);
$elem->setJQueryParams(array('data' => array(),
'url' => 'my_autocomplete_callback.php',
'minChars' => 1,
'onChangeInterval' => 500,
)
);
Тогда я даже поменял декораторы по умолчанию следующим образом:
$elementDecorators = array(
array('UiWidgetElement', array('tag' => '')),
array('Errors', array('tag' => 'div', 'class'=>'error')),
array('Label'),
array('HtmlTag', array('tag' => 'div')),
);
$elem->setDecorators($elementDecorators);
И, наконец, добавьте в мою форму (помните, что я в init(), поэтому я буду обращаться к ней через $this):
$this->addElement($elem);
Вот вы, волшебство сделано.
PS: не забудьте добавить следующее в свой bootstrap:
$view->addHelperPath('ZendX/JQuery/View/Helper/', 'ZendX_JQuery_View_Helper');
Ну, Zend_Form не будет генерировать для вас какие-либо клиентские JavaScript-валидаторы, если это то, что вы имеете в виду.
НО. Вы можете просто выполнить всю проверку на сервере и использовать jQuery для привязки к событиям изменения полей и AJAX-ify для проверки формы.
Отметьте который для образца.
http://web.archive.org/web/20100814175334/http://steven.macintyre.name/zend-framework-jquery-form-validation-plugins/ Здесь мы покажем, как добавить плагин в структуру Zend для обработки vlidation на стороне клиента