如图所示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。
答案 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();
}
}
....
....
}