我即将在TYPO3 CMS 7.6.x扩展中编写验证器。我使用现代MVC struktur包括Fluid(所以不是旧的pi1系统)。这是我的测试验证器(MyownValidator.php):
namespace My\Extension\Validation\Validator;
/**
* MyownValidator
*/
class MyownValidator extends \TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator {
/**
* ...
*/
public function isValid($data){
if( $data != 'hello world' ){
$this->addError('ERRORMESSAGE', 1468329929);
return FALSE;
}
return TRUE;
}
}
在Model Class中我添加了验证行:
/**
* testattribute
*
* @var string
* @validate Myown
*/
protected $testattribute = '';
在安装工具中清除完整缓存后,没有任何反应。我仍然可以使用testattribute的任何值创建此模型的对象。
然后我查看了TCA配置并发现:
'eval' => 'trim,required'
有没有办法像TYPO3 Fluid一样使用模型的验证呢?或者我是否必须像在TYPO3 CMS 4中那样编写验证器?
答案 0 :(得分:1)
我的错误。我必须提供完整的合格类名,然后才能正常工作。
/**
* testattribute
*
* @var string
* @validate NotEmpty, \My\Extension\Validation\Validator\MyownValidator
*/
protected $testattribute = '';
至少在前端它显示验证错误。 有没有办法在TCA中使用它?