Symfony2:递归验证

2024-03-09

我有一个带有一些验证器的实体(不是一种形式).

所以我用$validator->validate($entity),但它不会验证我的子对象(实体类还有一些其他实体类和一些验证器)。

有没有一种“自动”的方式来做到这一点,或者我必须这样做$errorList->addAll($validator->validate($entity));对于他们每个人?


要允许对对象进行递归验证,您可以简单地使用约束@Assert\Valid http://symfony.com/fr/doc/current/reference/constraints/Valid.html

Example
假设一个人有一个强制性的姓氏

class Person
{
    /**
     * @Assert\NotNull
     * @var string
     */
    protected $lastName;
}

你有一个产品,它有一个买家(Person)

class Product
{
    /**
     * @Assert\NotNull
     * @Assert\Valid
     * @var Person
     */
    protected $buyer;
}

有了NotNull and Valid,每次验证Product模型它将检查:

  • 它有一个买家
  • 买家有一个lastName
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony2:递归验证 的相关文章

随机推荐

  • 如何删除 ggplot geom_bar 图中的选择标签并将这些标签居中?

    是否可以从 geom bar ggplot geom text 中删除重复值的某些 特定标签并将该值集中在图 条上 My data structure list prey name c Amphipod Byths Chiro Adult
  • LNK2022:元数据操作失败:重复类型中的字段声明不一致

    我在编译 C NET 项目时遇到问题 我读过了 LNK2022 元数据操作失败 让我发疯 https stackoverflow com questions 810827 lnk2022 metadata operation failed
  • 在集合页面 Shopify 中显示变体选项

    我知道这个问题在互联网上被问了数百万次 但似乎每个人都希望有一个有自己特色的解决方案 我找不到我真正需要的东西 因此 我使用此代码来显示我的收藏中的变体 然后添加到购物车
  • 如何以编程方式获取 Windows 进程的线程计数?

    我想通过 C C 计算当前 Windows 进程的本机线程数 我看到有一个相关问题 https stackoverflow com questions 2744295 how to find the active thread count带
  • 在张量流中调整 3D 数据的大小,如 tf.image.resize_images

    我需要调整一些 3D 数据的大小 例如tf image resize images二维数据的方法 我想我可以尝试跑步tf image resize images在它上循环并交换轴 但我认为一定有一种更简单的方法 简单的最近邻应该没问题 有任
  • 有没有办法不将人们重定向到 Mailchimp 的“谢谢”页面?

    我在 Mailchimp 网站上看到 当用户订阅您的邮件列表时 您可以将用户重定向到自定义感谢页面 但这并不是我想要做的 当用户订阅我的邮件列表时 我想隐藏表单并直接在我的页面上将其替换为感谢信 而不进行任何重定向 有没有办法做到这一点 您
  • Notepad++ 的整洁 CSS

    是否有某种 CSS 整洁可用于 Notepad 我已经尝试了 TEXTFX 中似乎每个菜单项 但似乎没有一个能做到这一点 我习惯使用 PSPAD 只需选择 CSS 并单击 重新格式化为结构化 CSS EDIT在问这个问题很长时间后发现了一个
  • 如何在NextJs中为Material UI的媒体查询实现SSR?

    我无法遵循文档 https material ui com components use media query server side rendering实现 Material UI 的媒体查询 因为它是为普通的 React 应用程序指定
  • 使用 PowerShell 重命名 FTP 上的文件

    有没有办法重命名 FTP 目录中的文件 我正在将实时图像从计算机流式传输到 FTP 但问题是当它将图像上传到 FTP 时 它会立即替换文件 我想先上传临时名称的图像 然后重命名为 live jpg 这就像缓存文件上传一样 while tru
  • ASP.NET MVC 中的 jQuery 与 MicrosoftAjax

    在什么情况下您会在 ASP NET MVC 应用程序中使用 MicrosoftAjax 而不是 jQuery 根据斯科特 凯特在此播客中的说法Scott Cate 的面向对象 AJAX http www hanselminutes com
  • 实现 jquery UI 自动完成以在您键入“@”时显示建议

    我正在使用 jquery UI AutoComplete 来允许用户使用 mentions 来标记朋友 默认情况下 当您将焦点放在文本框上时 就会出现自动完成建议 如何让建议仅在您输入 时出现 这是我到目前为止的代码 var availab
  • 为什么无法访问的代码在 C++ 中不是错误?

    无法访问的代码是 Java 等语言中的编译时错误 但为什么它在 C 和 C 中只是警告呢 考虑以下示例 include
  • 如何在跨平台 xamarin XAML 上从资产目录加载图像?

    这似乎是一件非常容易做的事情 而且理论上它看起来非常简单 创建资产目录 添加图像集并将其命名为 imageName 不带 png 添加图像 done 或者至少这是我到处读到的内容 但我仍然无法让它发挥作用 我的 XAML 看起来像这样
  • Android Gradle:javaMaxHeapSize“4g”是什么?

    在一个安卓项目中 构建 gradle文件 我已经经历过这一行 dexOptions javaMaxHeapSize 4g 我想知道这样做的确切目的java最大堆大小那是什么4g方法 我还能提供哪些其他价值 正如它在上面回答 https st
  • 从 NHibernate 映射生成数据库模式

    是否可以从 Nhibernate 映射 DLL 生成数据库模式 我的要求是MySQL 如果是这样 我该怎么做 有这方面的工具 脚本吗 开源 免费软件工具 此外 我可以使用这些工具将数据集插入 更新到数据库吗 你有没有尝试过使用NHibern
  • 打开导航抽屉时使片段可点击

    我的问题如下 我锁定了导航抽屉菜单setDrawerLockMode DrawerLayout LOCK MODE LOCKED OPEN 在平板电脑的横向模式下 但我需要右侧的片段处于活动状态 这样我就可以在导航始终打开的情况下单击它 但
  • 使用 RSpec,如何在加载时为数据库设定种子?

    我正在使用 rspec 来测试我的 Rails 3 应用程序 我需要在测试开始之前为数据库播种 如何使用以下内容为数据库播种 db seeds rb Admin Member each do role name Role find or c
  • 我可以更改脚本 src 并让 javascript 运行新代码吗?

    我有一个页面 实际上是一个演示文稿 很像幻灯片 这是一个无限循环 它使用 ajax 进行自我更新 以下载自上次以来的新演示内容 现在 当用户决定更改幻灯片中的过渡效果时 以下行将发生更改 然而 即使我用例如替换整个标签 它仍然执行与最初加载
  • GAE 云端点 - Api 在部署后未更新

    我开始在我的 GAE 项目中使用云端点 但遇到了 api 未在服务器上更新的问题 localhost 8888 ah api explorer 就可以了 但当我部署时 没有任何变化 myapp appspot com 8888 ah api
  • Symfony2:递归验证

    我有一个带有一些验证器的实体 不是一种形式 所以我用 validator gt validate entity 但它不会验证我的子对象 实体类还有一些其他实体类和一些验证器 有没有一种 自动 的方式来做到这一点 或者我必须这样做 error