Symfony2 Form Validator - porównywanie starych i nowych wartości przed opróżnieniem

Zastanawiałem się, czy istnieje sposób na porównanie starych i nowych wartości w walidatorze w obrębie jednostki przed spłukiwaniem.

mamServer obiekt, który renderuje formularz w porządku. Jednostka ma związek zstatus (N-> 1), które po zmianie statusu zUnracked doRacked, musi sprawdzić dostęp SSH i FTP do serwera. Jeśli dostęp nie zostanie osiągnięty, walidator powinien zawieść.

Odwzorowałem wywołanie zwrotne walidatora na metodęisServerValid() w obrębieServer istota opisana tutajhttp://symfony.com/doc/current/reference/constraints/Callback.html. Oczywiście mogę uzyskać dostęp do „nowych” wartości$this->status, ale jak mogę uzyskać oryginalną wartość?

W pseudo-kodzie coś takiego:

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');
    }
}

Z góry dziękuję!

questionAnswers(3)

yourAnswerToTheQuestion