Проблемы с проверкой пустого поля даты с помощью extbase

Почему Extbase выдает исключение, если поле даты начала пусто. Если дата имеет неправильный формат, проверка работает. Но пустое значение показывает это:

Неперехваченное исключение TYPO3 ... Events :: setEnd () должно быть экземпляром DateTime, задано значение null ...

Что не так со следующим кодом в моей модели?

    /**
     * start
     *
     * @var \DateTime
     * @validate NotEmpty
     * @validate(type="DateTime", options={"locale"="de_DE"})
     */
    protected $start;

А вот и мой ТСА

    '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'
                    );
            }
        }

    }

person exotec    schedule 26.03.2019    source источник


Ответы (1)


улучшить вашу валидацию:

 'eval' => 'datetime,int',

пустое поле даты представлено символом 0, который не является допустимым форматом даты.

person Bernd Wilke πφ    schedule 27.03.2019