我正在创建一个用于文件上传的模块,它本质上将提供一个 FieldSet 和一个视图助手来显示一个小部件。
我需要一个 Fieldset 有一个单独的 InputFilter,但我正在努力在框架中找到将 InputFilter 与 Fieldset 相关联的任何功能。
我正在创建一个用于文件上传的模块,它本质上将提供一个 FieldSet 和一个视图助手来显示一个小部件。
我需要一个 Fieldset 有一个单独的 InputFilter,但我正在努力在框架中找到将 InputFilter 与 Fieldset 相关联的任何功能。
您必须实施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'
)
));
}
}
如果这太抽象了,请告诉我,我将使用真实示例对其进行编辑。我猜应该足以让你继续前进;)