是否可以在 TYPO3 中扩展自定义验证器以防止重复输入功能?

Is it possible to extend a custom Validator in TYPO3 to prevent double typing functions?

我的扩展中有两个验证器。

在两个扩展中我有相同的功能,例如isTagInside().

我不想让这个函数重复两次,如果我更改 1.isTagInside(),我也必须更改 2.isTagInside()。在这里感觉像是不好的做法和重复代码。 ;)


我的控制器使用存储函数的 BaseController,我在两个控制器中都使用它。所以我也可以拆分 CRUD 进程和其他功能。我是这样用的,效果很好

class UserController extends \RM\RmRegistration\Controller\BaseController

与我想要的验证器相同,但是:

27: class NewRegisteredUserValidator extends \RM\RmRegistration\Validation\Validator\BaseValidator

27: 只是行号 ;)

导致此错误消息

Fatal error: Class 'RM\RmRegistration\Validation\Validator\BaseValidator' not found in /var/www/devserver/rmupdate/typo3conf/ext/rm_registration/Classes/Validation/Validator/NewRegisteredUserValidator.php on line 27


有人知道这个问题的有效解决方案吗?或者这是不可能的?

首先检查 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)
{
}