0
我已經創建了一個處理對象的簡單表單person並且此對象擁有屬性birthDate它是datetime類型的。如何在TYPO3中存儲datetime屬性?
現在我想創建一個人與存儲此屬性,但如果我嘗試提交表單出現以下錯誤:
日期「%s」已無法識別(對於格式爲「%s的」 )
我已經閱讀了一些線程,很多人建議使用初始化操作來處理這個問題,但這不適用於我。
人:
class Person extends AbstractEntity
{
...
/**
* Stores the birth date of a person
*
* @var \DateTime
* @validate NotEmpty, DateTime
*
*/
protected $birthDate = null;
...
}
液:
<f:form action="send" method="post" enctype="multipart/form-data" name="person" object="{person}">
...
<fieldset>
<f:render partial="FormErrors" arguments="{field: 'person.birthDate'}" />
<label class="required">Birthdate</label>
<f:form.textfield
type="date"
placeholder="dd.mm.yyyy"
property="birthDate"
/>
</fieldset>
...
</f:form>
我的初始化動作如下所示:
public function initializeSendAction()
{
if (isset($this->arguments['person'])) {
$this->arguments['person']->getPropertyMappingConfiguration()->forProperty('birthDate')->setTypeConverterOption(
'TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\DateTimeConverter',
\TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter::CONFIGURATION_DATE_FORMAT,
'd.m.Y'
);
}
}
和發送動作的樣子:
public function sendAction(\Fox\Example\Domain\Model\Person $person)
{
$this->personRepository->add($person);
...
}
所以沒有什麼特別的,但似乎我的自定義日期時間格式「d.m.Y」不工作,該屬性是字符串類型,有什麼建議嗎?
THX您的回覆,我已經使用了類似的話。一個字符串屬性處理表單字段和驗證後,我存儲並將此字符串轉換爲第二個日期時間屬性。 – Fox