Jetzt habe ich meine Ausdrucksbeschränkung in meiner Entität, etwa so:
Code: Select all
/**
* @ORM\Column(type="string", length=255)
* @Assert\Choice(choices=TypeConge::TYPE_SOLDE, message="Veuillez choisir une valeur valide.")
* @Assert\Expression(
* "not (this.getId() != null and this.getTypeSolde() != this.getConfirmTypeSolde())",
* message="Vous ne pouvez pas modifier le type de solde d'un type de congé que vous avez déjà créé ! ({{ value }})"
* )
*/
private ?string $typeSolde = null;
In meinem FormType habe ich:
Code: Select all
->add('typeSolde', ChoiceType::class, [
//...
'constraints' => [
new Expression([
'expression' => 'not (this.getId() != null and this.getTypeSolde() != this.getConfirmTypeSolde())',
'message' => "Vous ne pouvez pas modifier le type de solde d'un type de congé que vous avez déjà créé ! ({{ value }})"
])
]
])
Code: Select all
Unable to call method "getId" of object "Symfony\Component\Form\Form".
Mobile version