如果我的开始日期字段为空,为什么Extbase会引发异常。如果日期格式错误,则验证有效。但是一个空值将显示以下内容:
未捕获到的TYPO3异常... Events :: setEnd()必须是DateTime的实例,给定为null ...
我的模型中的以下代码有什么问题?
/**
* start
*
* @var \DateTime
* @validate NotEmpty
* @validate(type="DateTime", options={"locale"="de_DE"})
*/
protected $start;
这是我的TCA
'start' => [
'exclude' => false,
'label' => 'Start',
'config' => [
'type' => 'input',
'renderType' => 'inputDateTime',
'size' => 10,
'eval' => 'datetime',
'default' => time()
],
],
缓存已清除,typo3temp文件夹已删除。
更新:
也许错误是在我必须设置日期格式的initializeUpdateAction()中?
public function initializeUpdateAction() {
$user = $this->request->getArgument('feUsers');
$events = $user['events'];
if( is_array($events) ) {
foreach ($events as $i => $event) {
$this->arguments->getArgument('feUsers')
->getPropertyMappingConfiguration()->forProperty('events.'.$i.'.start')
->setTypeConverterOption(
'TYPO3\\CMS\\Extbase\\Property\\TypeConverter\\DateTimeConverter',
\TYPO3\CMS\Extbase\Property\TypeConverter\DateTimeConverter::CONFIGURATION_DATE_FORMAT,
'd.m.Y'
);
}
}
}
答案 0 :(得分:0)
加强您的验证:
--profile
空白日期字段用 'eval' => 'datetime,int',
表示,这不是有效的日期格式。