Typo3验证器返回在null上调用成员函数addError()

时间:2016-07-07 12:06:16

标签: model-view-controller typo3 extbase

我有一个流畅的形式。完成编辑后,ajax调用将传递给控制器 我创建 EmailAddressValidator()的实例我的代码在下面给出

$validate =  \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Validation\\Validator\\EmailAddressValidator');
$result = $validate->isValid('xyz@gmail.com');

如果电子邮件格式正确,则不返回任何内容。但是它返回

  

调用成员函数addError()

如果格式不正确。

1 个答案:

答案 0 :(得分:1)

(更新)

问题是如何调用验证器。您需要调用方法validate,而不是isValid

所以这应该有效:

$validate =  \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Validation\\Validator\\EmailAddressValidator');
$result = $validate->validate('xyz@gmail.com');

$resultTYPO3\CMS\Extbase\Error\Result的一个实例,您可以使用方法hasErrors检查邮件是否有效。