问题标签 [symfony-validator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
256 浏览

php - 使用 Doctrine2 注释的 Symfony2 验证

我有以下 Doctrine 实体,我也想使用它的限制进行验证。

我使用以下验证,它适用于 symfony 特定的注释,但不适用于 Doctrine 设置限制!

我该怎么做才能让 symfony 验证器使用原则限制作为设置?

现状:
我阅读了 [ 1 ] 和 [ 2 ],但到目前为止我没有使用表单,因为我有一个返回 JSON 的控制器。如果您知道如何使用表单进行这项工作也会有很大帮助!

0 投票
1 回答
896 浏览

validation - Symfony:通过 Valid 和 Count 约束进行集合验证

今天我遇到了表单集合验证的奇怪问题(symfony 2.7.3)

我已将 validation.yml 配置为验证 BusinessTrip 表单。此表单包含一个包含 BusinessTripUser 表单集合的字段,用于指定用户及其商务旅行目标。

问题:

当我尝试保存将多个用户添加到集合中的 BusinessTrip 表单时,出现验证错误,提示我必须为此出差指定至少一个用户(计数约束)。但是已经有几个用户了。

如果我禁用计数约束(在validation.yml 中对其进行注释)一切正常,则用户将通过有效约束成功验证。但我需要这个验证。也许有人已经遇到并解决了这个问题?

来源:

0 投票
1 回答
3051 浏览

php - Symfony2 表单使一个字段在 2 个字段之间为真

我有一个学院的席位分配实体,有3个字段,总席位,男性席位,女性席位。场景是所有座位都是男性或女性,或者它可以在男性和女性之间分配。

明确地说,我的问题是:我想检查用户是否至少选择了所需的两个字段之一(maleSeat 和 femaleSeat)

我知道它可以通过 jquery 的东西来处理,但我不想在这里涉及 jquery 和其他东西,我如何使用 symfony 内置组件来实现这一点。

0 投票
1 回答
622 浏览

validation - Symfony2:将getter约束错误附加到字段

今天是个好日子!

问题

我找不到将 getter 验证错误附加到表单中特定字段的解决方案。

我的实体中有一个方法Presale::hasPresaleProductsAdded()。此方法返回关于添加到集合中的产品数量的 true 或 false

提交表单后,验证错误冒泡到父表单(因为表单上没有“presaleProductsAdded”字段)。我想将此错误附加到“presaleProducts”字段。

我知道error_mapping财产,但我不能让它工作

编码

这是我的validation.yml

可能的解决方案

我知道这个问题可以通过自定义验证约束类来解决。但问题是——我只能用validation.yml、实体方法和getter约束来做吗

0 投票
1 回答
51 浏览

symfony - 将方法上的断言绑定到属性

我有一个方法,验证某些输入的组合是有效的(例如选择了老年折扣选项并且生日显示年龄在 n 以上)。

现在我希望显示老年折扣选项的错误,而不是实体/表单的一般错误。所以我需要类似的东西:

我确实读过一次,这是可能的,但无法再次找到该文章。

0 投票
1 回答
760 浏览

php - 使用连接表验证 UniqueEntity 的一对多、单向 [Symfony2]

我有 2 个映射实体

盒子

和糖果

如您所见,这是一对多、单向和连接表关联。Box 可以“存储”糖果,但 Candy 对 Box(在哪里)一无所知。

现在我有了可以制作糖果的页面,并且有表格和标准isValid(),然后:

现在,我的问题在哪里?

我想 Box 只能存储唯一的糖果(按名称),这意味着 Box 可以存储名称为“Choco”和“Orange”但不能存储“蛋黄酱”和“蛋黄酱”的糖果对象

制作糖果时,我无法进行UniqueEntity约束验证,因为糖果不知道盒子的存在。我考虑过CallbackBox 的验证器或创建自己的约束,但我认为最好问:

我该怎么做?

0 投票
1 回答
44 浏览

symfony - 添加到字段的约束错误未显示字段

我动态生成一个表单并添加约束(即Choice)。

提交带有空数据的表单时,错误会显示在表单上,​​而不是我添加约束的表单元素(也在分析器中检查)。

这些约束没有选项atPath,我将它们直接添加到字段中,所以我不明白它们为什么出现在表单中。

0 投票
0 回答
768 浏览

symfony - symfony2(预)在发布前验证表单(加载时)

我需要在加载页面(无帖子)时验证用户个人资料表单并显示错误。

结果证明这是一个相当大的挑战。

要求

  • 错误必须以与发布后相同的方式显示。
  • 必填字段必须有field is empty错误消息。

通用且几乎可行的解决方案:显示错误消息,这很好。但是它们没有突出显示,因为表单元素没有接收has-error样式类,因为表单字段被标记为有效,因为 valid正在检查submitted和提交是假的,因为没有提交。

问题

有没有办法设置valid为假或submitted真?也许有完全不同的解决方案?我很难相信我是第一个实现此功能的人,因为我很难相信我无法从我构建的表单中检索数据作为数组并使用$form->setData($user);.

其他信息

找到对我不起作用的解决方案

  1. $form->submit([], false);就像在这里一样。不好 - 如果必填字段为空,则不会显示错误。
  2. ViolationMapper();这里使用。根本不适合我...:/

已实现的工作解决方案有缺点:将用户数据创建为具有来自用户实体的数据集的数组。问题:在更改表单和/或用户实体时必须保持功能。

0 投票
2 回答
2547 浏览

forms - 翻译自定义 FormType 中的验证错误消息

我有现在的情况

这个例子已经有效,我正在尝试重构它,所以我不必在其中包含容器(或翻译器)。

挑战在于保持

  • '%field% 不应为空。' 和
  • '我的字段名'

作为仅有的两个可翻译字符串,'因为 MyFieldName 很可能已经被翻译(如标签),留下 '%field% 不应为空。作为适用于站点中任何字段的通用消息。

0 投票
3 回答
1202 浏览

php - 如何在 Symfony2 中“动态”禁用一个变压器验证错误

我有一个包含许多字段和验证组的表单,这些字段也包含一些视图数据转换器。

我需要部分抑制验证表单(基于提交数据的组):

当你这样做时,表单将执行基本的完整性检查(禁用验证)并且仍然抛出来自转换器的验证错误(创建转换器)。

使用该POST_SUBMIT事件并防止ValidationListener被调用(抑制表单验证):

这对我来说不是一个解决方案,因为它意外地禁用了不仅仅是表单验证的东西。

问题是:如何“动态”禁用一个变压器验证错误?

例子:

我有一个RepeatedType属于person验证组的表单字段并包含一个视图转换器( RepeatedType ),当数组中的值不同( ValueToDuplicatesTransformer )时,此转换器会引发异常。

因此,即使验证组是company,表单也会显示错误属于RepeatedType来自转换器的字段。

这里的问题是:当验证组不是时如何禁用错误?ValueToDuplicatesTransformerperson