Symfony2 Form Validator - Сравнение старых и новых значений перед сбросом
Мне было интересно, есть ли способ сравнить старые и новые значения в валидаторе в сущности до сброса.
у меня естьServer
юридическое лицо, которое оказывает в форме штраф. Сущность имеет отношение кstatus
(N-> 1), который, когда статус изменяется сUnracked
вRacked
, необходимо проверить SSH и FTP доступ к серверу. Если доступ не достигнут, валидатор должен потерпеть неудачу.
Я сопоставил обратный вызов валидатора с методомisServerValid()
в пределахServer
сущность, как описано здесьhttp://symfony.com/doc/current/reference/constraints/Callback.html, Я, очевидно, могу получить доступ к «новым» значениям через$this->status
, но как я могу получить исходное значение?
В псевдокоде, что-то вроде этого:
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');
}
}
Заранее спасибо!