是否可以在 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)
{
}
我的扩展中有两个验证器。
在两个扩展中我有相同的功能,例如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)
{
}