Как использовать validationResover
Как показано здесь, я хочу использовать validationResolver для динамической проверки пользовательских входных данных в моем приложении. Поэтому я хочу доказать, верно ли условие в моем контроллере. Если условие истинно, я хочу проверить с помощью собственного валидатора.
Для этого я попробовал это:
public function createAction(Object $newObject) {
$TS = $newObject->getSomeProperty();
$ABT = $newObject->getSomeOtherProperty();
if ($TS === 'specialvalue') {
$validatorResolver->createValidator('Your.Package:Foo'));
}
Но я получаю (конечно) 500-исключение:
#1: Notice: Undefined variable: validatorResolver in /var/www...
Пожалуйста, дайте мне подсказку, как использовать $validatorResolver.
1 ответ
Решение
Я сделал это сейчас так:
public function createAction(Object $newObject) {
$TS = $newObject->getSomeProperty();
$ABT = $newObject->getSomeOtherProperty();
if ($ABT === 'specialvalue') {
$validatorResolver = new \TYPO3\Flow\Validation\ValidatorResolver();
$customValidator = $validatorResolver->createValidator('Your.Package:Foo');
$result = $customValidator->validate($TS);
if ($result->hasErrors()) {
$this->flashMessageContainer->addMessage(new \TYPO3\Flow\Error\Error('Here you can type in the error message!'));
$this->errorAction()->forwardToReferringRequest();
}
}
....
....
}