Как написать валидатор в TYPO3 CMS 7+?

Я собираюсь написать валидатор в моем расширении TYPO3 CMS 7.6.x. Я использую современный MVC Structur, включая Fluid (поэтому не старая система pi1). Вот мой тестовый валидатор (MyownValidator.php):

namespace My\Extension\Validation\Validator;
/**
* MyownValidator
*/
class MyownValidator extends \TYPO3\CMS\Extbase\Validation\Validator\AbstractValidator {
/**
* ...
*/
public function isValid($data){
if( $data != 'hello world' ){
$this->addError('ERRORMESSAGE', 1468329929);
return FALSE;
}
return TRUE;
}

}

И в классе модели я добавляю строку проверки:

/**
* testattribute
*
* @var string
* @validate Myown
*/
protected $testattribute = '';

После очистки всего кэша в инструменте установки ничего не происходит. Я все еще могу создавать объекты этой модели с любым значением для testattribute.

А потом я посмотрел в конфигурации TCA и обнаружил, что:

'eval' => 'trim,required'

Есть ли способ использовать валидацию моделей, как TYPO3 Fluid? Или я должен написать валидаторы, как в TYPO3 CMS 4?

0

Решение

Виноват. Я должен дать полное имя класса, а затем он работает нормально.

/**
* testattribute
*
* @var string
* @validate NotEmpty, \My\Extension\Validation\Validator\MyownValidator
*/
protected $testattribute = '';

Ну, по крайней мере, в переднем конце это показывает ошибку проверки.
Есть ли способ использовать его в TCA?

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]