westdc-zf1/application/models/ContactForm.php

62 lines
2.1 KiB
PHP
Executable File

<?php
class ContactForm extends Zend_Form
{
public function __construct($options = null)
{
parent::__construct($options);
$this->setName('Contact');
$username = new Zend_Form_Element_Text('username');
$username->setLabel('Name')->setRequired(true)
->addFilter('StripTags') ->addFilter('StringTrim')
->addValidator('StringLength',false,array(3,50));
$email=new Zend_Form_Element_Text('email');
$email->setLabel('Email')
->setRequired(true)
->addFilter('StringTrim')
->addValidator('NotEmpty')
->addValidator('EmailAddress');
$subject=new Zend_Form_Element_Text('subject');
$subject->setLabel('Subject')->setRequired(true);
$body=new Zend_Form_Element_Textarea('body');
$body->setLabel('Content')->setRequired(true)->setAttrib('rows',4);
$id = new Zend_Form_Element_Hidden('id');
$submit = new Zend_Form_Element_Submit('submit');
$submit ->setAttrib('id', 'submitbutton')
->setAttrib('class', 'btn btn-primary')
->setLabel('Send');
$spam=new element_bcSpamBlock('spam');
$spam->addPrefixPath('Validator','validator/','validate')
->addValidator('SpamBlock');
$this->addElements(array($id, $spam,$username,$email,$subject,$body,$submit));
$this->clearDecorators();
$this->addDecorator('FormElements')
->addDecorator('HtmlTag', array('tag' => '<ul>','class'=>'commentform unstyled'))
->addDecorator('Form');
$this->setElementDecorators(array(
array('ViewHelper'),
array('Errors'),
array('Description'),
array('Label', array('separator'=>' ')),
array('HtmlTag', array('tag' => 'li', 'class'=>'element-group')),
));
// buttons do not need labels
$submit->setDecorators(array(
array('ViewHelper'),
array('Description'),
array('HtmlTag', array('tag' => 'li', 'class'=>'submit-group')),
));
}
}