我的问题与symfony验证器组件有关。我没有使用表格。我想将每个实体的验证规则移到分离的类(如AuthorVlidator,BookingValidator等)。如何将其移动到分离的类并定义规则?
感谢。
答案 0 :(得分:2)
您为什么要将其移至分离的课程?使用注释,它很容易使用。
这样做并不是一个好主意,但如果您真的想在其他类中执行此操作,则可以在要验证的每个类中添加此方法:
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可能是一个解决方案。