我正在创建一个文件上传模块,它实际上会提供一个FieldSet和一个视图助手来显示一个小部件。
我要求Fieldset有一个单独的InputFilter,但我很难找到框架中的任何功能来将InputFilter与Fieldset相关联。
答案 0 :(得分: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'
)
));
}
}
如果这太抽象,请告诉我,我将使用一个真实的例子来编辑它。应该足够让你开始,我想;)