0

我正在创建一个用于文件上传的模块,它本质上将提供一个 FieldSet 和一个视图助手来显示一个小部件。

我需要一个 Fieldset 有一个单独的 InputFilter,但我正在努力在框架中找到将 InputFilter 与 Fieldset 相关联的任何功能。

4

1 回答 1

2

您必须实施InputFilterProviderInterface. 请参阅下面的示例

use Zend\InputFilter\InputFilterProviderInterface;

class FooFieldset extends Fieldset implements InputFilterProviderInterface
{
   public function __construct() { // add elements }

   public function getInputFilterSpecification()
   {
       return array(
          'elementName' => array(
              'filters' => array(),
              'validators' => array(),
              'properties' => array(),
              'required' => true
          )
       );
   }
}

尽管您告诉表单实际验证您的字段集,但这绝对是必需的。我个人是这样做的:

class BarForm extends Form
{
    public function __construct()
    {
         // other stuff, add elements and fieldset

         $this->setValidationGroup(array(
             'someElement',
             'someFieldset' => array(
                 'fieldSetElement#1',
                 'fieldSetElement#2'
             )
         ));
    }
}

如果这太抽象了,请告诉我,我将使用真实示例对其进行编辑。我猜应该足以让你继续前进;)

于 2012-08-14T12:01:51.167 回答