Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
je rencontre un soucis pour la définition de décorateurs sur un objet ZendX_JQuery_Form_Element_AutoComplete.
Je l'instancie ainsi:
$elem = new ZendX_JQuery_Form_Element_AutoComplete( 'query', array('Label' => 'Search', 'required'=>true, 'filters'=>array('StripTags'), 'validators'=>array( array('validator'=>'StringLength', 'options'=>array('min'=>'3'), 'breakChainOnFailure'=>true ), array('Alnum') ) ) );
puis je règle les paramètres propres à l'autocomplétion jQuery:
$elem->setJQueryParams(array('data' => array(), 'url' => 'mon_autocomplete.php', 'minChars' => 1, 'onChangeInterval' => 500, ) );
et je l'ajoute à mon formulaire dans l'init() de ma classe (qui étend ZendX_JQuery_Form) via
$this->addElement($elem);
Jusqu'ici tout va bien, ça fonctionne.
Bizarrement, dès que je tente de faire un addDecorators() (ou setDecorators()) sur cet élément afin de redéfinir ses décorateurs, je me retrouve avec l'erreur suivante:
Exception caught by form: Cannot construct AutoComplete field without specifying Parameters Data and Url Stack Trace: #0 [internal function]: ZendX_JQuery_View_Helper_AutoComplete->autoComplete('query', '', Array, Array)
C'est comme si je n'avais pas fait l'appel à setJQueryParams(), mes paramètres sont vides.
Une idée pour me mettre sur la piste?
Dernière modification par Marc (20-03-2009 10:24:36)
Hors ligne
J'ai trouvé... à force de Zend_debug::dump()
En fait je déclarais mal mes décorateurs, j'utilisais:
$elementDecorators = array( array('ViewHelper', array('tag' => '')), array('Errors', array('tag' => 'div', 'class'=>'error')), array('Label'), array('HtmlTag', array('tag' => 'div')), );
alors qu'il s'agissait d'un UiWidgetElement, donc:
$elementDecorators = array( array('UiWidgetElement', array('tag' => '')), array('Errors', array('tag' => 'div', 'class'=>'error')), array('Label'), array('HtmlTag', array('tag' => 'div')), );
Je passe le sujet en résolu.
Hors ligne
Pages: 1