symfony2将隐藏字段与其哈希值与表单验证进行比较

时间:2012-11-22 19:32:41

标签: symfony validation custom-validators

我想知道如何将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

我已经看到了Steven Brown(http://www.yewchube.com/2011/08/symfony-2-field-comparison-validator/)的解决方案,但是在一年前对核心文件进行了多次触摸...

解决 我已经创建了一个要点:Gist

1 个答案:

答案 0 :(得分:0)

只需将验证方法添加到您的实体http://symfony.com/doc/current/book/validation.html#getters

即可