TYPO3 7.6 Extbase / Fluid form: htmlspecialchars() expects parameter 1 to be string, object given -


i have got form, based on extbase fluid in typo3 7.6. every time validation error in field occurs, form gets displayed again showing validation errors, desired. every time form gets displayed again , value has been entered in date field, error message htmlspecialchars() expects parameter 1 string, object given appears.

i rid of error message.

the controller has date property in it:

<?php  namespace vendor\extension\domain\model;  class person extends basedto {     /**      * @var \datetime $privatepersonbirthdate      */     protected $privatepersonbirthdate;      /**      * @param \datetime $privatepersonbirthdate      */     public function setprivatepersonbirthdate($privatepersonbirthdate)     {         $this->privatepersonbirthdate = $privatepersonbirthdate;     }      /**      * @return \datetime      */     public function getprivatepersonbirthdate()     {         return $this->privatepersonbirthdate;     }  } 

template:

<f:form.textfield property="privatepersonbirthdate" /> 

property configuration in controller:

$conf->forproperty('privatepersonbirthdate')->settypeconverteroption('typo3\\cms\\extbase\\property\\typeconverter\\datetimeconverter', \typo3\cms\extbase\property\typeconverter\datetimeconverter::configuration_date_format, 'd.m.y'); 

i found similar reports online, https://forge.typo3.org/issues/4268.

the workaround using value attribute work, destroys value user entered in form on validation errors:

<f:form.textfield property="privatepersonbirthdate" value="{f:format.date(date: person.privatepersonbirthdate, format: 'd.m.y')}" /> 

i seems missing. not it. have idea how solve issue?

i solved issue creating view helper converts property of type datetime before trying render it:

<?php  namespace vendor\extension\viewhelpers;  use typo3\cms\fluid\viewhelpers\form\textfieldviewhelper;  /**  * view helper solves issue described https://stackoverflow.com/questions/45792891/typo3-7-6-extbase-fluid-form-htmlspecialchars-expects-parameter-1-to-be-str  *  * class textfieldfordatesviewhelper  * @package educo\eddaylight\viewhelpers  */ class textfieldfordatesviewhelper extends textfieldviewhelper {     /**      * initialize arguments.      *      * @return void      * @api      */     public function initializearguments()     {         parent::initializearguments();         $this->registertagattribute(self::dateformat, 'string', 'required format date field');     }      /**      * converts arbitrary value plain value      *      * @param mixed $value value convert      * @return mixed      */     protected function converttoplainvalue($value)     {         if ($value instanceof \datetime) {             return $value->format($this->arguments[self::dateformat]);         }         return parent::converttoplainvalue($value);     }      const dateformat = 'dateformat'; } 

Comments

Popular posts from this blog

python - Operations inside variables -

Generic Map Parameter java -

arrays - What causes a java.lang.ArrayIndexOutOfBoundsException and how do I prevent it? -