Symfony Validator, проверка свойств, определенных в чертах

Я разрабатываю проект в Symfony 2.8.

Предположим, у вас есть такой сценарий, когда Class ClassA использует TraitA TraitA, который предоставляет свойство, которое вы хотите проверить, и вы не хотите редактировать TraitA, потому что он находится во внешней библиотеке (например, Doctrine Behavior, как в https://github.com/KnpLabs/DoctrineBehaviors).

Предположим, вы хотите использовать аннотации для проверки вашего класса ClassA с помощью Symfony Validator ( 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;
    }
}

Есть ли более чистый способ сделать это?

0 ответов

Другие вопросы по тегам