我正在尝试使用元素定义添加过滤器和验证器。但到目前为止它还没有起作用。这是我的控制器类代码。
public function validateAction() {
$testVals = Array ('question1' => 'value1' );
$formMaker = $this->getServiceLocator ()->get ( 'ttForm\Maker' );
$form = $formMaker->generateForm();
$form->setData($testVals);
if ($form->isValid()){
echo "Valid form";
}
else{
print_r($form->getMessages());
echo "Invalid form";
}
die;
}
这是表单类代码
public function generateForm (){
$element = array (
'options' => array(
'label' => "First Name :",
),
'attributes' => array(
'required' => 'required',
'type' => 'text'
),
'name' => 'firstName',
'filters' => array(
array('name' => 'Zend\Filter\StringTrim'),
),
'validators' => array(
array(
'name' => 'not_empty',
)),
);
$form = new Form();
$form->add($element);
return $form;
}
正如您在表单类中看到的那样,我已经使用元素定义附加了过滤器和验证器,但它不起作用。看看文档,似乎我们可以这样做。任何人都能指出缺失的链接吗?感谢。