我要去香蕉這裏。我創建了一個包含兩個字段的簡單表單。一個是文本字段,另一個是textarea。表單看起來不錯,但我不會驗證 - 無論我嘗試什麼。Zend 2 - 添加驗證器和過濾器到自定義表格
這裏是我的表單類:
class MyForm extends Form
{
public function __construct()
{
parent::__construct();
$this->add(array(
'name' => 'subject',
'required' => true,
'allowEmpty' => false,
'options' => array(
'label' => 'Betreff*',
),
'type' => 'Zend\Form\Element\Text',
'validators' => array(
// validators for field "name"
new \Zend\Validator\NotEmpty(),
),
'filters' => array(
// filters for field "name"
array('name' => 'Zend\Filter\StringTrim'),
),
));
$this->add(array(
'name' => 'text',
'required' => true,
'allowEmpty' => false,
'options' => array(
'label' => 'Nachricht*',
),
'type' => 'Zend\Form\Element\Textarea',
));
$this->add(new Element\Csrf('security'));
}
}
的valdiators
和filters
只是很多事情我想一個...
在這裏我的控制器,形式始終是有效的:
$form = new MyForm();
$request = $this->getRequest();
if ($request->isPost()) {
$form = new MyForm();
$form->setData($request->getPost());
echo $form->isValid();
if($form->isValid()) { ... }
我總是通過if
。
我想知道:爲什麼當我設置required=true
時我需要驗證器?爲什麼他們在沒有做任何事情時實施這樣的屬性?
但仍然:我如何驗證我的表單?我只想要一個clenup過濾器,如trim
和一個NotEmpty
驗證程序。
謝謝!
能否請您發佈一些代碼,使我的審定工作?我真的不關心其他:)謝謝! PS:如果你這樣做,我保證,下一次你有足夠的代表;) – Ron
我會在幾分鐘內爲你寫一些代碼,堅持;) –
我發現了一箇舊的問題,我的鏈接到非常大班...但如果可能我只想添加幾行到我現有的代碼:[The answer](http://stackoverflow.com/a/14212240/1331671) – Ron