如何在 TYPO3 v10/v11 中为控制器操作参数定义正则表达式验证?
How to define a RegularExpresion Validation for an Controller Action Param, in TYPO3 v10/v11?
我正在更新用于 TYPO3 v10 或更高版本的扩展,但正则表达式验证器有问题,我现在不知道如何在 v10 或更高版本中运行。尝试了以下方法:
/**
* action list
*
* @param string $filterChar
* @Extbase\Validate("RegularExpression",options={ "regularExpression": "/^[0-9A-Za-z]{0,1}$/i" })
* @return void
*/
public function listAction(string $filterChar = '') {
但是我遇到了以下异常:
Invalid validate annotation in ABC\MyExt\Controller\MyController->listAction(): The following validators have been defined for missing param "$": RegularExpression
我做错了什么,我该如何解决,或者现在对动作参数的 RegularExpression 验证器的正确定义是什么?
找到解决方案。我必须添加 param="..."
@Extbase\Validate("RegularExpression",options={ "regularExpression": "/^[0-9A-Za-z]{0,1}$/i" }, param="filterChar")
所以完整的解决方案如下所示:
/**
* action list
*
* @param string $filterChar
* @Extbase\Validate("RegularExpression",options={ "regularExpression":"/^[0-9A-Za-z]{0,1}$/i" }, param="filterChar")
* @return void
*/
public function listAction(string $filterChar = '') {
我正在更新用于 TYPO3 v10 或更高版本的扩展,但正则表达式验证器有问题,我现在不知道如何在 v10 或更高版本中运行。尝试了以下方法:
/**
* action list
*
* @param string $filterChar
* @Extbase\Validate("RegularExpression",options={ "regularExpression": "/^[0-9A-Za-z]{0,1}$/i" })
* @return void
*/
public function listAction(string $filterChar = '') {
但是我遇到了以下异常:
Invalid validate annotation in ABC\MyExt\Controller\MyController->listAction(): The following validators have been defined for missing param "$": RegularExpression
我做错了什么,我该如何解决,或者现在对动作参数的 RegularExpression 验证器的正确定义是什么?
找到解决方案。我必须添加 param="..."
@Extbase\Validate("RegularExpression",options={ "regularExpression": "/^[0-9A-Za-z]{0,1}$/i" }, param="filterChar")
所以完整的解决方案如下所示:
/**
* action list
*
* @param string $filterChar
* @Extbase\Validate("RegularExpression",options={ "regularExpression":"/^[0-9A-Za-z]{0,1}$/i" }, param="filterChar")
* @return void
*/
public function listAction(string $filterChar = '') {