1

我正在更新用于 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

我做错了什么,我该如何解决它,或者现在对于动作参数的正则表达式验证器的正确定义是什么?

4

1 回答 1

3

找到了解决方案。我必须添加 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 = '') {
于 2021-12-11T11:21:51.737 回答