Disable notInArray Validator Zend Framework 2

后端 未结 5 2393
醉梦人生
醉梦人生 2021-02-20 12:36

Is there a way to disable notInArray Validator in Zend Framework 2. All the info on the internet shows how to disable the notInArray Validator in Zend Framework 1, for example i

相关标签:
5条回答
  • 2021-02-20 12:45

    I came with the same case : while i was populating my html select element via ajax after alot of searching found no way to do it , ending with creating my own select form element , I will provide you with my changes :

        /**
         * 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;
        }
    
    0 讨论(0)
  • 2021-02-20 12:58

    I found this at this link and thought I would post it as I found it a great solution .... http://samsonasik.wordpress.com/2012/10/01/zend-framework-2-extending-zendform-to-add-select-multicheckbox-emaildate-textarea-and-radio-element/

    don’t try to deactive the default validator. re-values the select options values before setData.

    $form->get('state_id')
         ->setOptions(
               array('value_options'=> $Newstatecollection)) ;
    

    Saves the mess of deactivating the function if you need it elsewhere

    0 讨论(0)
  • 2021-02-20 12:59

    I had the same problem and what i did is populate the element before validate it, for example:

    $clientForm->get('city')->setValueOptions($options);
    $clientForm->setData($post);
    
    if ($clientForm->isValid()) {
      //
    } else {
      //
    }
    

    This don't disable notInArray valitador but you can trick it.

    0 讨论(0)
  • 2021-02-20 13:02

    If you don't need validation at all, add required => false in InputFilter

        $this->add(array(
            'name' => 'your-elements-name',
            'required' => false,
        ));
    

    worked for me..

    0 讨论(0)
  • 2021-02-20 13:03

    Since version 2.2, Zend Framework provide the ability to disable inArray validator calling:

    $element->setDisableInArrayValidator(false);
    

    or passing option to an element:

    'disable_inarray_validator' => false
    
    0 讨论(0)
提交回复
热议问题