我正在Symfony 2.8中开发一个项目。
假设你有这种情况,Class ClassA使用Trait TraitA提供你想要验证的属性,而你不想编辑TraitA 因为它在一个外部库中(例如a教义行为,如https://github.com/KnpLabs/DoctrineBehaviors)。
假设您想要使用注释来验证您的类ClassA,通过Symfony验证器(https://symfony.com/doc/current/validation.html)
你怎么能做到这一点?这些是类。
Class ClassA {
use TraitA
}
Trait TraitA {
private $property_in_trait_a;
}
以下是我找到的唯一解决方案,可能会生成映射到整个类的违规(我需要在相关表单中指定error_mapping以定位表单上的右侧字段):
use Symfony\Component\Validator\Constraints as Assert;
Class ClassA {
use TraitA
/**
* Fake method only used to validate $property_in_trait_a
*
* @Assert\Something()
*
*/
public function getPropertyInTraitA()
{
return $this->property_in_trait_a;
}
}
有更简洁的方法吗?