Как использовать 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();
        }

    }
    ....
    ....
}
Другие вопросы по тегам