本文整理汇总了PHP中Zend_Form_Element_Radio::addFilter方法的典型用法代码示例。如果您正苦于以下问题:PHP Zend_Form_Element_Radio::addFilter方法的具体用法?PHP Zend_Form_Element_Radio::addFilter怎么用?PHP Zend_Form_Element_Radio::addFilter使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend_Form_Element_Radio
的用法示例。
在下文中一共展示了Zend_Form_Element_Radio::addFilter方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createFormElements
/**
* Функция создание формы
* @param type $objForm объект формы
* @param type $elementsForm элементы в виде массива
* @return type объект формы
*/
protected function createFormElements($objForm, $elementsForm)
{
foreach ($elementsForm as $key => $value) {
// определяем тип по умолчанию
$type = !empty($value['type']) ? $value['type'] : 'text';
// массив с опциями
$params = array();
if ($type !== 'hidden') {
$params['label'] = !empty($value['label']) ? $value['label'] : die('Не оределлен атрибут label!');
}
$params['decorators'] = !empty($value['decorators']) ? $value['decorators'] : $this->elementDecorators();
if (!empty($value['multiOptions'])) {
$params['multiOptions'] = $value['multiOptions'];
}
$value['required'] = !empty($value['required']) ? $value['required'] : true;
$value['attribs'] = !empty($value['attribs']) ? $value['attribs'] : array('class' => 'form-control');
$value['filters'] = !empty($value['filters']) ? $value['filters'] : '';
$value['validators'] = !empty($value['validators']) ? $value['validators'] : '';
// присваевыем стандартные фильтры и валидаторы
if (empty($value['filters'])) {
$stringTrim = new Zend_Filter_StringTrim();
$stripTags = new Zend_Filter_StripTags();
$value['filters'] = array('stringTrim' => $stringTrim, 'stripTags' => $stripTags);
}
if (empty($value['validators'])) {
$alnum = new Zend_Validate_Alnum();
$alnum->setMessage('Только буквы и цыфры!');
$notEmpty = new Zend_Validate_NotEmpty();
$notEmpty->setMessage('Поле обязательно для заполнения', 'isEmpty');
$value['validators'] = array('alnum' => $alnum, 'notEmpty' => $notEmpty);
}
// провеки на тип если нужен новый то надо добавить по аналогии
switch ($type) {
case 'text':
$elem = new Zend_Form_Element_Text($key);
break;
case 'textarea':
$elem = new Zend_Form_Element_Textarea($key);
break;
case 'select':
$elem = new Zend_Form_Element_Select($key);
break;
case 'password':
$elem = new Zend_Form_Element_Password($key);
break;
case 'hidden':
$elem = new Zend_Form_Element_Hidden($key);
break;
case 'radio':
$elem = new Zend_Form_Element_Radio($key);
break;
}
// присваиваем атрибуты
if (!empty($value['attribs'])) {
foreach ($value['attribs'] as $k => $val) {
$params[$k] = $val;
}
}
// присваиваем опции
if (!empty($elem)) {
$elem->setOptions($params);
}
// добавляем валидаторы
if (!empty($value['validators']) && $type !== 'hidden') {
foreach ($value['validators'] as $val) {
$elem->addValidator($val);
}
}
// добавляем фильтры
if (!empty($value['filters']) && $type !== 'hidden') {
foreach ($value['filters'] as $val) {
$elem->addFilter($val);
}
}
// вот тут писец
if (!empty($value['required']) && $type !== 'hidden') {
$elem->setRequired(TRUE);
}
// добавляем элемент на форму
$objForm->addElement($elem);
}
// добавляем кнопку
$objForm->addElement('submit', 'submit', array('label' => $this->buttonLabel, 'decorators' => $this->buttonDecorators(), 'class' => 'btn btn-default'));
return $objForm;
}