Symfony2 Form Validator - Vergleichen alter und neuer Werte vor dem Flush

Ich habe mich gefragt, ob es eine Möglichkeit gibt, alte und neue Werte in einem Validator innerhalb einer Entität vor einem Flush zu vergleichen.

Ich habe einServer Entität, die zu einer Form Geldstrafe macht. Die Entität hat eine Beziehung zustatus (N-> 1), von dem, wenn der Status geändert wirdUnracked zuRackedmuss nach SSH- und FTP-Zugriff auf den Server suchen. Wenn der Zugriff nicht erreicht wird, sollte der Validator fehlschlagen.

Ich habe der Methode einen Validator-Callback zugeordnetisServerValid() innerhalb desServer Entität wie hier beschriebenhttp://symfony.com/doc/current/reference/constraints/Callback.html. Ich kann natürlich über auf die 'neuen' Werte zugreifen$this->status, aber wie kann ich den ursprünglichen Wert erhalten?

Im Pseudocode ungefähr so:

public function isAuthorValid(ExecutionContextInterface $context)
{
    $original = ... ; // get old values
    if( $this->status !== $original->status && $this->status === 'Racked' && $original->status === 'Unracked' )
    {
        // check ftp and ssh connection
        // $context->addViolationAt('status', 'Unable to connect etc etc');
    }
}

Danke im Voraus!

Antworten auf die Frage(3)

Ihre Antwort auf die Frage