【问题标题】:Get list of Assert Constraints in FormType Extension in Symfony2.1获取 Symfony2.1 中 FormType 扩展中的断言约束列表
【发布时间】:2012-09-20 11:40:49
【问题描述】:

我正在尝试使用 javascript 实现客户端表单验证,我想通过将它们放在字段数据属性中来使用实体或表单中定义的验证。

问题是我不知道也找不到任何关于如何从 FormType 扩展中获取约束的信息。

我认为 FormBuilder 应该可以访问用于启动验证的数据,但似乎没有任何方法可以检索约束。

感谢您的帮助

【问题讨论】:

    标签: validation symfony symfony-forms symfony-2.1


    【解决方案1】:

    你可以使用:

    $validators = $form->getConfig()->getValidators();
    

    在您的表单对象上

    【讨论】:

    • 返回一个空数组:-(
    • 原来在 Symfony 2.1 中验证器列表不再保存在这个属性中,现在验证是使用事件完成的。我不知道如何获得该信息
    • 感谢您的尝试 :-) 我目前正在寻找直接使用 Validator 类并使其解析文件。如果我找到解决方案将发布。
    【解决方案2】:

    终于找到了解决办法。它可能不是最好的,但对我有用。

    我将 Validator 服务注入 FormTypeExtension。
    那我就可以了

    $this->validator->getMetadataFactory()->getClassMetadata($options['data_class']);

    我还必须将服务别名从“字段”更改为“表单”以获取选项中的 data_class。

    希望这可以帮助遇到同样问题的人。
    如果需要,我可以发布更多详细信息。

    【讨论】:

    • 我正在尝试做同样的事情 - 我如何找出运行验证器的属性?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-10
    • 2014-06-22
    • 2013-12-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多