2016-07-07 5 views
0

У меня есть завершение жидкости form.On от редактирования Аякса вызов передается в контроллер я сделать экземпляр EmailAddressValidator() Мой код приведен нижеTYPO3 валидатор возвращает вызов функции члена addError() на нуль

$validate = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Validation\\Validator\\EmailAddressValidator'); 
$result = $validate->isValid('[email protected]'); 

он ничего не возвращает, если электронная почта в правильной format.But возвращает

вызов функции члена addError()

если формат неправильный.

ответ

1

(Обновлено)

Проблема заключается в том, как вы называете валидатор. Вам необходимо вызвать метод validate, а не isValid.

Так это должно работать:

$validate = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Extbase\\Validation\\Validator\\EmailAddressValidator'); 
$result = $validate->validate('[email protected]'); 

$result является экземпляром TYPO3\CMS\Extbase\Error\Result, вы можете использовать метод hasErrors на него, чтобы проверить, если почта была действительна.

+0

TYPO3 \\ CMS \\ Extbase \\ Object \\ ObjectManager не может запускаться со спиной slash.So я удалил назад slashh и запустил код. Но такая же проблема существует. –

+1

Хорошо, вы правы ... проблема в этом случае не связана с DI (что обычно возникает/часто возникает при вызове члена на 'null'), но как вы вызываете валидатор ... Я отредактирую ответ. – Jost

+0

Мой новый код: $ validate = \ TYPO3 \ CMS \ Core \ Utility \ GeneralUtility :: makeInstance ('TYPO3 \\ CMS \\ Extbase \\ Validation \\ Validator \\ EmailAddressValidator'); $ result = $ validate-> isValid ('xyzgmail.com'); $ error = $ result-> hasError(); Но такая же ошибка возникает –

Смежные вопросы