2

我想知道如何将 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')
            ),
        )
    )
;

在 Symfony 2.1 中形成善良

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

解决 了我创建了一个要点:要点

4

1 回答 1

0

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

于 2012-11-22T20:18:41.853 回答