是否有Zend框架禁用notInArray验证的方式2.所有在互联网上的信息显示如何在Zend框架1禁用notInArray验证,例如以这种方式
如果你不希望InArray校验可言,你可以,或传递虚假对元素创建registerInArrayValidator配置项来禁用该元素上调用setRegisterInArrayValidator(假的)这种行为。
在计算器的一个职位,可以发现这里
不幸的是,这不是在Zend框架2.可能所以,如果如果任何人有一个提示如何可以禁用。
是否有Zend框架禁用notInArray验证的方式2.所有在互联网上的信息显示如何在Zend框架1禁用notInArray验证,例如以这种方式
如果你不希望InArray校验可言,你可以,或传递虚假对元素创建registerInArrayValidator配置项来禁用该元素上调用setRegisterInArrayValidator(假的)这种行为。
在计算器的一个职位,可以发现这里
不幸的是,这不是在Zend框架2.可能所以,如果如果任何人有一个提示如何可以禁用。
自2.2版本,Zend框架提供禁用InArray校验调用的能力:
$element->setDisableInArrayValidator(false);
或传递选项的元素:
'disable_inarray_validator' => false
我有同样的问题,我所做的是前填充元素进行验证,例如:
$clientForm->get('city')->setValueOptions($options);
$clientForm->setData($post);
if ($clientForm->isValid()) {
//
} else {
//
}
这不禁notInArray valitador,但你可以欺骗它。
我带着同样的情况:虽然我是搜索发现没有办法做到这一点,与创建我自己的选择表单元素,我会为你提供我的变化结束后,很多是通过AJAX填充我的HTML选择元素:
/**
* Provide default input rules for this element
*
* Attaches the captcha as a validator.
*
* @return array
*/
public function getInputSpecification()
{
$spec = array(
'name' => $this->getName(),
'required' => true,
//// make sure to delete the validators array in the next line
'validators' => array(
$this->getValidator()
)
);
return $spec;
}
我发现这个在这个环节,我想我会发布它,因为我发现这是一个很好的解决方案.... http://samsonasik.wordpress.com/2012/10/01/zend-framework-2-extending-zendform-to -add选-multicheckbox-emaildate-textarea的-AND-RADIO-元件/
不要试图取消激活默认验证。 重值的选择选项使用setData前值。
$form->get('state_id')
->setOptions(
array('value_options'=> $Newstatecollection)) ;
保存停用功能的混乱,如果你需要它在别处
如果你根本不需要验证,加required => false
的输入过滤器
$this->add(array(
'name' => 'your-elements-name',
'required' => false,
));
工作对我来说..