Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Validation 是否可以在TYPO3中扩展自定义验证器以防止双重键入功能?_Validation_Typo3_Typo3 8.7.x - Fatal编程技术网

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
中,添加此更改一次后,它使用以下行扩展AbstractValidator
class BaseValidator extends\TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator
您需要安装/取消安装扩展。你这样做了吗?不,我会试试。它很有效,非常感谢,写下你的答案,这样我就可以吐出来,接受你的答案;)。