【发布时间】:2017-04-06 08:04:59
【问题描述】:
我的自定义 Extbase 验证不起作用。 我收到以下错误。
版本 TYPO3 7.6.16
我正在尝试验证输入。
Invalid validate annotation in VENDOR\ex\Domain\Model\GpSubscriber::salutation: Could not resolve class name for validator ""
我的模型 GpSubscriber.php
<?php
namespace VENDOR\ex\Domain\Model;
/**
* GpSubscriber
*/
class GpSubscriber extends \TYPO3\CMS\Extbase\DomainObject\AbstractEntity
{
/**
* salutation
*
* @var string
* @validate \VENDOR\ex\Domain\Validator\SalutationValidator
*/
protected $salutation = '';
我的验证器 SalutationValidator.php
<?php
namespace VENDOR\ex\Domain\Validator;
class SalutationValidator extends \TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator {
public function isValid($value) {
if ($value == 'false') {
$this->addError('error.');
return FALSE;
}
return TRUE;
}
}
我的问题在哪里?
【问题讨论】:
-
看起来不错,您是否完全清除缓存?
-
是的,我清除了安装工具中的所有缓存。
-
很奇怪。我没有发现明显的错误。
-
从 TYPO3 7.x 开始,在核心中找到该错误消息的唯一位置是
\TYPO3\CMS\Form\Controller\FrontendController。那是你的版本吗?你是从扩展form继承的吗?
标签: php validation typo3 extbase