2012-11-22 9 views
2

我想知道如何比較字段在symfony2形式與自定義驗證。 特別是我想比較一個簡單的隱藏字段和它的散列。symfony2比較隱藏的領域與其散列與表單驗證

<input type="hidden" name="smoke" value="1" /> 
<input type="hidden" name="smoke_hash" value="kahsjkdasjkdh3iuy84932798" /> 

就像「重複的字段」,但用我自己的邏輯驗證。

但更多的是這樣的:

use Symfony\Component\Validator\Constraints\HashMatchString; 

$builder 
    ->add('smoke', 'hidden', array(
      'data' => 1, 
     ) 
    ) 
    ->add('smoke_hash', 'hidden', array(
      'constraints' => array(
       new HashMatchString('smoke') 
      ), 
     ) 
    ) 
; 

Form Goodness in Symfony 2.1

我已經看到史蒂芬·布朗的溶液(http://www.yewchube.com/2011/08/symfony-2 -field-比較,識別/),但一年前與核心文件的多點觸摸...

解決 我創建了一個要點:Gist

回答

0

只需驗證方法添加到您的實體http://symfony.com/doc/current/book/validation.html#getters

+0

是的,是一個解決方案...但每次我一些隱藏的領域和許多重要的是隱藏在外地的時間將惱人的方法來實體並不總是相同所以我想直接在我的自定義驗證器中應用我的驗證,就像這樣[Form Goodness in Symfony 2.1](http://symfony.com/blog/form-goodness-in-symfony-2-1) –