2012-02-20 23 views

回答

2

此鏈接Symfony2 - How to use Entity variables in CallbackValidator?直接解決您的問題。基本上,「使用」指令可以傳遞變量:

->addValidator(new CallbackValidator(function($form) use($user) 

然而,傳遞多個參數的時候,我覺得它更容易只是使實現FormValidatorInterface驗證程序類,並使用它:

class UserNameValidator implements FormValidatorInterface 
{ 
    public function __construct($em) 
    { 
     $this->em = $em; 
    } 
    public function validate(FormInterface $form) 
    { 

我我甚至會把它變成一項服務,所以我不必擔心它的構建。

+0

這可以在yml中完成嗎?我有yml驗證器 – DavidW 2012-02-20 14:56:49

+0

我想我認爲這是一個表單。您需要創建自定義約束(http://symfony.com/doc/current/cookbook/validation/custom_constraint.html)。我沒有做出一個,所以不能真正幫助。 – Cerad 2012-02-20 15:14:18