如何使用validationResover

时间:2015-06-16 07:09:47

标签: flow-framework

如图所示here我想使用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 个答案:

答案 0 :(得分:0)

我现在这样做了:

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

    }
    ....
    ....
}