php twitter-bootstrap annotations zend-form zend-framework2

php - Zend formulario bootstrap annotation datepicker "Objeto proporcionado a Escape helper, pero las banderas no permiten la recursiĆ³n"



twitter-bootstrap annotations (4)

No parece que el error haya provenido de tu código o tal vez el punto es que tienes que hacer si se trata de una acción de edición no solo vincular sino agregar:

$form->bind($document); $form->get(''datenais'')->setValue($document->getDatenais()->format(''Y-m-d''));

No conozco el camino limpio, pero resolverá tu problema. Si encuentras otra forma, me complacerá ver tu fragmento de código.

Estoy usando Zend framework con Bootstrap y el adaptador ReverseForm, y tengo un problema interesante: cuando uso Bootstrap Datepicker en Zend Form, tengo la siguiente excepción:

Object provided to Escape helper, but flags do not allow recursion

Hay mi código de formfield:

use /Doctrine/ODM/MongoDB/Mapping/Annotations as ODM; use /Zend/Form/Annotation as ZFA;

...

/** * @var /DateTime * * @ODM/Date * * @ZFA/Type("ReverseForm/Element/BootstrapDatepicker") * @ZFA/Attributes({"type":"text"}) * @ZFA/Options({ * "label":"Date", * "extended": { * "help": {"content": ""}, * } * }) * */ private $date;

y ahí está mi configuración de forma inversa:

''ReverseForm/Element/BootstrapDatepicker'' => array( ''js'' => array( ''/vendor/datepicker/js/bootstrap-datepicker.js'' ), ''css'' => array( ''/vendor/datepicker/css/datepicker.css'' ), ''template'' => ''input.phtml'', ''inlineJs'' => "$(''#%1/$s'').datepicker(%2/$s);", ''inlineJsConfig'' => array( ''format'' => ''dd.mm.yyyy'', ''weekstart'' => new /Zend/Json/Expr(1), ) ),

Donde tengo un error?



Es un problema similar al que obtienes si no agregas el campo tipo al formulario Zend:

''type'' => ''Zend/Form/Element/Time'',

El elemento completo es como tal ::

$this->add(array( ''name'' => ''officialDrawTime'', ''type'' => ''Zend/Form/Element/Time'', ''attributes'' => array( ''required'' => ''required'', ''type'' => ''time'', ''class'' => ''form-control input-large'', ''placeholder'' => ''e.g 19:30 or 07:30 (24 hour clock)'', ''pattern'' => ''^[0-9]{2}:[0-9]{2}$'' ), ''options'' => array( ''label'' => ''Official draw time'', ''instructions'' => ''The official draw time...)'' ), ));


Esto funciona para mí
El formato de conversión de valor a la fecha resolverá el problema.
En tu controlador: escribe:

$users[''usrBirthday'']=$user->getBirthday()->format(''d-m-Y''); $form->setData($users); $form->bind($user);