我的问题与 symfony 验证器组件有关。我不使用表格。我想将每个实体的验证规则移动到单独的类(如 AuthorVlidator、BookingValidator 等)。如何将其移动到单独的类并定义规则?
谢谢。
我的问题与 symfony 验证器组件有关。我不使用表格。我想将每个实体的验证规则移动到单独的类(如 AuthorVlidator、BookingValidator 等)。如何将其移动到单独的类并定义规则?
谢谢。
为什么要将其移至单独的班级?使用注释很容易使用它。
这样做不是一个好主意,但如果你真的想在其他类中这样做,你可以在你想要验证的每个类中添加这个方法:
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());
}
}
如果您想根据属性值分离此逻辑以添加验证,这不是正确的方法。你应该阅读文档,回调可能是一个解决方案。