是否可以在TYPO3中扩展自定义验证器以防止双重打字功能?

时间:2018-03-12 12:38:52

标签: validation typo3 typo3-8.7.x

我的扩展程序中有两个验证程序。

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

我不想让这个功能两次,如果我改变1. isTagInside(),我也必须改变2. isTagInside()。这感觉就像是不好的做法并重复代码。 ;)

我的控制器使用BaseController,存储函数,我在两个控制器中使用。所以我也可以拆分CRUD进程和其他功能。我这样使用它,它完美无缺。

class UserController extends \RM\RmRegistration\Controller\BaseController

我想在验证器中使用相同的内容,但是:

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

27:只是行号;)

导致此ErrorMessage

  

致命错误:类' RM \ RmRegistration \ Validation \ Validator \ BaseValidator'在第27行的/var/www/devserver/rmupdate/typo3conf/ext/rm_registration/Classes/Validation/Validator/NewRegisteredUserValidator.php中找不到

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

2 个答案:

答案 0 :(得分:2)

首先检查BaseValidator.php文件路径。这是对还是不对。

如果BaseValidator.php文件路径正确,并且在添加了所有更改后,您需要Install / Un-install分机并清除Install Tool缓存。

再次检查后,我认为它的工作正常。

答案 1 :(得分:0)

在BaseValidator中,我必须使用$值添加空函数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)
{
}