Symfony 5 – Assert Expression in einem Formular verwendenPhp

PHP-Programmierer chatten hier
Anonymous
 Symfony 5 – Assert Expression in einem Formular verwenden

Post by Anonymous »

Ich möchte die Ausdrucksbeschränkung aus dem Formular verwenden.
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;
Ich möchte es jetzt in den FormType verschieben:
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 }})"
])
]
])
Aber es gibt mir die folgende Fehlermeldung zurück:

Code: Select all

Unable to call method "getId" of object "Symfony\Component\Form\Form".
Im Dokument steht nicht, wie wir vorgehen können

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post