如何在 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 = '') {