禁用notInArray Validator Zend Framework 2

use*_*230 10 validation zend-form zend-framework2

有没有办法在Zend Framework 2中禁用notInArray Validator.Internet上的所有信息都显示了如何在Zend Framework 1中禁用notInArray Validator,例如以这种方式

如果您根本不需要InArray验证器,则可以通过在元素上调用setRegisterInArrayValidator(false)或在元素创建时将false传递给registerInArrayValidator配置键来禁用此行为.

可以在此处找到stackoverflow中的一个帖子

不幸的是,这在Zend Framework 2中是不可能的.所以,如果有人有一个提示,如何禁用它.

tar*_*hov 9

从版本2.2开始,Zend Framework提供了禁用inArray验证器调用的功能:

$element->setDisableInArrayValidator(false);
Run Code Online (Sandbox Code Playgroud)

或者将选项传递给元素:

'disable_inarray_validator' => false
Run Code Online (Sandbox Code Playgroud)

  • 好的,但有点不同.要禁用你应该''disable_inarray_validator'=> true`,因为两次否定是批准. (4认同)

taw*_*kov 0

我遇到了同样的情况:当我通过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;
    }
Run Code Online (Sandbox Code Playgroud)