Validation 是否可以在TYPO3中扩展自定义验证器以防止双重键入功能?
我的扩展中有两个验证器 在这两个扩展中,我都有相同的函数,例如Validation 是否可以在TYPO3中扩展自定义验证器以防止双重键入功能?,validation,typo3,typo3-8.7.x,Validation,Typo3,Typo3 8.7.x,我的扩展中有两个验证器 在这两个扩展中,我都有相同的函数,例如isTagInside() 如果我改变1,我不想让这个函数重复两次。isTagInside(),我必须更改2。人参皂甙()也是。在这里,重复代码让人感觉很糟糕 我的控制器使用一个BaseController,存储函数,我在两个控制器中都使用它。因此,我还可以拆分CRUD进程和其他函数。我就是这样用的,而且效果很好 class UserController extends \RM\RmRegistration\Controller\B
isTagInside()
如果我改变1,我不想让这个函数重复两次。isTagInside(),我必须更改2。人参皂甙()也是。在这里,重复代码让人感觉很糟糕
我的控制器使用一个BaseController,存储函数,我在两个控制器中都使用它。因此,我还可以拆分CRUD进程和其他函数。我就是这样用的,而且效果很好
class UserController extends \RM\RmRegistration\Controller\BaseController
与我希望在验证器中使用的相同,但是:
27: class NewRegisteredUserValidator extends \RM\RmRegistration\Validation\Validator\BaseValidator
27:只是行号;)
结果显示此错误消息
致命错误:在第27行的/var/www/devserver/rmupdate/typo3conf/ext/RM\u registration/Classes/Validation/Validator/NewRegisteredUserValidator.php中找不到类“RM\RmRegistration\Validator\BaseValidator”
是否有人知道此问题的有效解决方案,或者这是不可能的?首先检查
BaseValidator.php
文件路径。不管正确与否
如果BaseValidator.php
文件路径正确,并且在添加这些更改后,您需要进行一次Install/Un-Install
扩展并清除Install-Tool
缓存
在再次检查之后,现在我认为它可以正常工作。在BaseValidator中,我必须添加带$value的空函数isValid(),否则扩展就无法工作
/**
* Initial function to validate
* It has to be here (empty and with a $value-variable),
* otherwise the BaseValidator does not works !!!
*/
protected function isValid($value)
{
}
您确定已在正确路径中添加BaseValidator.php文件吗?是的,BaseValidator位于目录:
rm_registration/Classes/Validation/Validator
中,添加此更改一次后,它使用以下行扩展AbstractValidatorclass BaseValidator extends\TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator
您需要安装/取消安装扩展。你这样做了吗?不,我会试试。它很有效,非常感谢,写下你的答案,这样我就可以吐出来,接受你的答案;)。