问题标签 [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.
validation - Symfony:通过 Valid 和 Count 约束进行集合验证
今天我遇到了表单集合验证的奇怪问题(symfony 2.7.3)
我已将 validation.yml 配置为验证 BusinessTrip 表单。此表单包含一个包含 BusinessTripUser 表单集合的字段,用于指定用户及其商务旅行目标。
问题:
当我尝试保存将多个用户添加到集合中的 BusinessTrip 表单时,出现验证错误,提示我必须为此出差指定至少一个用户(计数约束)。但是已经有几个用户了。
如果我禁用计数约束(在validation.yml 中对其进行注释)一切正常,则用户将通过有效约束成功验证。但我需要这个验证。也许有人已经遇到并解决了这个问题?
来源:
php - Symfony2 表单使一个字段在 2 个字段之间为真
我有一个学院的席位分配实体,有3个字段,总席位,男性席位,女性席位。场景是所有座位都是男性或女性,或者它可以在男性和女性之间分配。
明确地说,我的问题是:我想检查用户是否至少选择了所需的两个字段之一(maleSeat 和 femaleSeat)
我知道它可以通过 jquery 的东西来处理,但我不想在这里涉及 jquery 和其他东西,我如何使用 symfony 内置组件来实现这一点。
validation - Symfony2:将getter约束错误附加到字段
今天是个好日子!
问题
我找不到将 getter 验证错误附加到表单中特定字段的解决方案。
我的实体中有一个方法Presale::hasPresaleProductsAdded()
。此方法返回关于添加到集合中的产品数量的 true 或 false
提交表单后,验证错误冒泡到父表单(因为表单上没有“presaleProductsAdded”字段)。我想将此错误附加到“presaleProducts”字段。
我知道error_mapping
财产,但我不能让它工作
编码
这是我的validation.yml
可能的解决方案
我知道这个问题可以通过自定义验证约束类来解决。但问题是——我只能用validation.yml、实体方法和getter约束来做吗
symfony - 将方法上的断言绑定到属性
我有一个方法,验证某些输入的组合是有效的(例如选择了老年折扣选项并且生日显示年龄在 n 以上)。
现在我希望显示老年折扣选项的错误,而不是实体/表单的一般错误。所以我需要类似的东西:
我确实读过一次,这是可能的,但无法再次找到该文章。
php - 使用连接表验证 UniqueEntity 的一对多、单向 [Symfony2]
我有 2 个映射实体,
盒子
和糖果
如您所见,这是一对多、单向和连接表关联。Box 可以“存储”糖果,但 Candy 对 Box(在哪里)一无所知。
现在我有了可以制作糖果的页面,并且有表格和标准isValid()
,然后:
现在,我的问题在哪里?
我想 Box 只能存储唯一的糖果(按名称),这意味着 Box 可以存储名称为“Choco”和“Orange”但不能存储“蛋黄酱”和“蛋黄酱”的糖果对象
制作糖果时,我无法进行UniqueEntity
约束验证,因为糖果不知道盒子的存在。我考虑过Callback
Box 的验证器或创建自己的约束,但我认为最好问:
我该怎么做?
symfony - 添加到字段的约束错误未显示字段
我动态生成一个表单并添加约束(即Choice
)。
提交带有空数据的表单时,错误会显示在表单上,而不是我添加约束的表单元素(也在分析器中检查)。
这些约束没有选项atPath
,我将它们直接添加到字段中,所以我不明白它们为什么出现在表单中。
symfony - symfony2(预)在发布前验证表单(加载时)
我需要在加载页面(无帖子)时验证用户个人资料表单并显示错误。
结果证明这是一个相当大的挑战。
要求
- 错误必须以与发布后相同的方式显示。
- 必填字段必须有
field is empty
错误消息。
通用且几乎可行的解决方案:显示错误消息,这很好。但是它们没有突出显示,因为表单元素没有接收has-error
样式类,因为表单字段被标记为有效,因为 valid
正在检查submitted
和提交是假的,因为没有提交。
问题
有没有办法设置valid
为假或submitted
真?也许有完全不同的解决方案?我很难相信我是第一个实现此功能的人,因为我很难相信我无法从我构建的表单中检索数据作为数组并使用$form->setData($user);
.
其他信息
找到对我不起作用的解决方案:
已实现的工作解决方案有缺点:将用户数据创建为具有来自用户实体的数据集的数组。问题:在更改表单和/或用户实体时必须保持功能。
forms - 翻译自定义 FormType 中的验证错误消息
我有现在的情况
这个例子已经有效,我正在尝试重构它,所以我不必在其中包含容器(或翻译器)。
挑战在于保持
- '%field% 不应为空。' 和
- '我的字段名'
作为仅有的两个可翻译字符串,'因为 MyFieldName 很可能已经被翻译(如标签),留下 '%field% 不应为空。作为适用于站点中任何字段的通用消息。
php - 如何在 Symfony2 中“动态”禁用一个变压器验证错误
我有一个包含许多字段和验证组的表单,这些字段也包含一些视图数据转换器。
我需要部分抑制验证表单(基于提交数据的组):
当你这样做时,表单将执行基本的完整性检查(禁用验证)并且仍然抛出来自转换器的验证错误(创建转换器)。
使用该POST_SUBMIT
事件并防止ValidationListener被调用(抑制表单验证):
这对我来说不是一个解决方案,因为它意外地禁用了不仅仅是表单验证的东西。
问题是:如何“动态”禁用一个变压器验证错误?
例子:
我有一个RepeatedType
属于person
验证组的表单字段并包含一个视图转换器( RepeatedType ),当数组中的值不同( ValueToDuplicatesTransformer )时,此转换器会引发异常。
因此,即使验证组是company
,表单也会显示错误属于RepeatedType
来自转换器的字段。
这里的问题是:当验证组不是时如何禁用错误?ValueToDuplicatesTransformer
person