我们建立一个这样的TYPO3 Flow模型:
| A | B | C | D |
1| 1 | 1 | 1 | |
2| 2 | 3 | 3 | |
3| 3 | 5 | | 5 |
4| 4 | | | |
在大多数情况下,您在ActionController中使用/* *
* 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;
}
}
?>
。在这种情况下,我们需要在另一个模型中。但是我们没有像ActionControllers那样使用validatorResolver进行自动验证。有没有一种简单的方法可以使用theire注释验证来预验证整个模型对象?
答案 0 :(得分: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);