2016-07-12 3 views
0

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

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.

И тогда я заглянула в конфигурации ТСА и обнаружили, что:

'eval' => 'trim,required' 

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

ответ

1

Моя ошибка. Я должен дать полное квалифицированное имя класса, и тогда он отлично работает.

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

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

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