I'm using Zend framework with Bootstrap and ReverseForm adapter, and have an interesting problem with it: when I use Bootstrap Datepicker in Zend Form I've the next exception:
Object provided to Escape helper, but flags do not allow recursion
There is my code of 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;
and there is my reverse form config:
'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),
)
),
Where I have a mistake?
I had the same issue. Changing the input's type from
text
todate
should fix your problem. (https://github.com/zendframework/zf2/issues/3724)Its a similar issue to the one you get if you do not add the type field to the Zend Form:
The whole element is as such::
This works for me.
The value convert to date format will solve the issue.
In your controller: write:
No the mistake apparently came from your code or maybe the point is you have to do if is an editAction not just bind but add:
I know not the clean way but it will solve your problem. If your find another way i'll glad to see your piece of code.