#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 /… от Пола Луноу. Примеры сработали для меня мгновенно.