向Zend 2.2中的select元素添加过滤器时遇到问题。创建select元素时,会在此元素中添加默认验证器:
此元素将InArray验证器添加到其输入过滤器规范中,以便在服务器上验证所选值是否属于值。
在我向该元素添加自定义过滤器之前,这样可以正常工作:
$filter = new Input('element_name');
$filter->setRequired(true);
$this->add($filter);
将Zend \ InputFilter \ Input添加到Zend \ InputFilter \ InputFilter中,稍后将其添加到我的表单中。从现在开始,默认验证器将丢失。
如何在不丢失默认验证器的情况下为表单元素添加过滤器?
我错过了什么吗?我不认为这是默认行为,因为每个人都在拼命询问如何停用它。甚至还有一个属性可以停用它('disable_inarray_validator'),但是,我想保留该验证器而不将selectbox的所有条目都传递给我的InputFilter。此外,我在Zend 2文档中找不到任何内容。我想解决方案必须简单。提前谢谢。
注意:当我将InputFilter与InputFilterManager一起添加到表单时也会发生同样的情况。
答案 0 :(得分:0)
请先查看我对您问题的评论。只有我认为可能有用的东西,我没有试图让它工作是:
$input->getFilterChain()
->attachByName('stringtrim')
或
$input->getFilterChain()
->attach(new StringTrim())