Как предварительно проверить всю модель в TYPO3 Flow

Мы создаем модель TYPO3 Flow следующим образом:

/*                                                                        *
* This script belongs to the Flow package "DS.Datenbank".                *
*                                                                        *
*                                                                        */

use TYPO3\Flow\Annotations as Flow;
use Some\Where\Domain\Model\User as USER;
use Doctrine\ORM\Mapping as ORM;

/**
* @Flow\Entity
*/
class Modelname {

/**
* The text content
* @var string
* @Flow\Validate(type="NotEmpty")
* @Flow\Validate(type="String")
*/
protected $content;

/**
* __construct
*
* @param $content the content
*/
public function __construct($content, $depth){
$this->content = $content;
}

/**
* getContent
*
* Returns the content
* @return $content
*/
public function getContent(){
return $this->content;
}

/**
* setContent
*
* Set a new content
* @param $content
* @return void
*/
public function setContent($content){
$this->content = $content;
}

}
?>

В большинстве случаев вы используете public function addModelname(\Some\Where\Domain\Model\Modelname $modelname){...} в ActionController. В этом случае нам это нужно в другой модели. Но у нас нет автоматической проверки с validatorResolver, как в ActionControllers. Существует ли простой способ предварительной проверки целых объектов модели с помощью проверки их аннотаций?

0

Решение

Я говорил о validatorResolver и не прочитал документацию полностью. Решение можно найти на http://flowframework.readthedocs.io/en/stable/TheDefinitiveGuide/PartIII/Validation.html#validating-domain-models

Адаптированный пример моей проблемы:

$validatorResolver = new \TYPO3\Flow\Validation\ValidatorResolver();
$modelnameValidator = $validatorResolver->getBaseValidatorConjunction('Some.Where\Domain\Model\Modelname');
$result = $commentValidator->validate($modelname);
0

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

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

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