1
我的问题是有关的symfony验证器组件。我不使用表格。我想移动验证规则对于每个实体分隔的类(如AuthorVlidator,BookingValidator等)。我怎样才能将它移动到各个班级,并定义规则?的Symfony验证
谢谢。
我的问题是有关的symfony验证器组件。我不使用表格。我想移动验证规则对于每个实体分隔的类(如AuthorVlidator,BookingValidator等)。我怎样才能将它移动到各个班级,并定义规则?的Symfony验证
谢谢。
你为什么想将其移动到各个班级?使用注释很容易使用它。
这不是一个好主意,做它,但如果你真的想这样做,其他类,你可以在要验证每个类添加这个方法:
class YourObject
{
public static function loadValidatorMetadata(ClassMetadata $metadata)
{
YourObjectValidator::validate($this, $metadata);
}
}
和:
use Symfony\Component\Validator\Mapping\ClassMetadata;
use Symfony\Component\Validator\Constraints\NotBlank;
class YourObjectValidator
{
public static function validate(YourObject $object, ClassMetadata $metadata)
{
$metadata->addPropertyConstraint('name', new NotBlank());
}
}
如果你想为根据性能值添加验证分开这个逻辑,它不是这样做的正确方法。你应该阅读文档,callback可能是一个解决方案。
如果我理解正确,您正在寻找[Validation Groups](http://symfony.com/doc/current/book/validation.html#validation-groups) –
只需将验证组件注入到您的Validator类中,然后有它。不需要花哨。 – Cerad