Zend framework2 ZF2添加具有元素定义的过滤器
我正在尝试使用元素定义添加过滤器和验证器。但到目前为止,它还不起作用。这是我的控制器类代码Zend framework2 ZF2添加具有元素定义的过滤器,zend-framework2,zend-form,zend-form-element,Zend Framework2,Zend Form,Zend Form Element,我正在尝试使用元素定义添加过滤器和验证器。但到目前为止,它还不起作用。这是我的控制器类代码 public function validateAction() { $testVals = Array ('question1' => 'value1' ); $formMaker = $this->getServiceLocator ()->get ( 'ttForm\Maker' ); $form = $formMaker->genera
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;
}
正如您在form类中看到的,我使用元素定义附加了过滤器和验证器,但它不起作用。看看文档,我们似乎可以做到。有人能指出缺失的环节吗?谢谢。在方法
generateForm
中似乎没有定义$form
对不起,我在复制时漏了一行。我刚刚更新了。你不能直接在表单元素规范中添加过滤器和验证器,它们被添加到输入过滤器规范中。看看文档,特别是在这里通过factory example创建->如果向下滚动示例规范,您将看到一条注释,指示可以在input\u filter
键中为元素添加输入过滤器规范。谢谢。这确实有帮助。