Дата ограничения TYPO3 Extbase в объектной модели домена

#validation #extbase #typo3-8.x

#проверка #extbase #typo3-8.x

Вопрос:

У меня есть класс модели с начальной и конечной датой. Я хочу убедиться, что дата начала всегда меньше даты окончания.

Я думал, что смогу достичь этого с помощью @validate аннотации в классе модели и пользовательского класса валидатора, как в документах.

Как я могу получить доступ к значению начальной даты в функции validate?

 <?php

namespace XXXYYYDomainModelValidator;

use TYPO3CMSExtbaseValidationValidatorAbstractValidator;

class EventEndDateValidator extends AbstractValidator
{
    public function validate($endDate)
    {
       return;
        $this->addError('Validator cant do anything yet.', 42);
    }
}
  

Ответ №1:

Даже если Typo3 не предоставляет функции такого типа, вы можете протестировать в start_date и end_date в «Access» в любом элементе typo3 по умолчанию.

Для этого вам следует использовать перехват и сравнивать даты, пока пользователь сохраняет запись, и возвращать false с сообщением об ошибке.

Дайте мне знать, если вам нужна какая-либо помощь, связанная с hook

Спасибо!!

Комментарии:

1. Большое спасибо! Я написал свой первый код подключения несколько дней назад в другом контексте и не увидел общего контекста. Ваш подход кажется мне полностью правдоподобным. Отличным ресурсом для перехватов являются страницы Андре Ринаса: andrerinas.de/tutorials /… и это: interaktionsdesigner.de/2008 /… от Пола Луноу. Примеры сработали для меня мгновенно.