问题标签 [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 投票
2 回答
103 浏览

symfony - 何时在 Symfony 表单中调用验证器?

我不知道在这种情况下何时调用验证?我在Form/Model/User.php 类中对属性做了一些限制,不知道在哪里调用,如何调用。以及如何在同一页面上显示错误。 正确执行此操作的最佳做​​法是什么?

0 投票
2 回答
481 浏览

php - 如何在第一个错误时停止字段验证?

我在 Symfony 2.8 中有一个表单,其字段如下:

`

当字段值为空时,我们会收到来自每个约束的错误消息。如何防止执行在第一个失败的约束之后定义的约束?

0 投票
0 回答
398 浏览

symfony - Symfony Validator,验证 Traits 中定义的属性

我正在 Symfony 2.8 中开发一个项目。

假设您有这种情况,ClassA 使用 Trait TraitA 提供您想要验证的属性,并且您不想编辑 TraitA,因为它位于外部库中(例如 Doctrine Behaviour,如https://github .com/KnpLabs/DoctrineBehaviors)。

假设你想通过Symfony Validator ( https://symfony.com/doc/current/validation.html )使用 Annotations来验证你的 ClassA

你怎么能做到这一点?这些是类。

以下是我找到的唯一解决方案,它可能会生成映射到整个类的违规(我需要在相关表单中指定 error_mapping 以定位表单上的正确字段):

有没有更清洁的方法来做到这一点?

0 投票
1 回答
837 浏览

symfony - Symfony 验证依赖于另一个属性

尝试验证一个字段是否不为空(长度 > 0),则要验证的字段的长度必须是某个长度(2 个字符)。在这种情况下,“Assert\Expression”似乎可以工作,但我在尝试查找属性的长度时遇到了麻烦。似乎您无法在表达式中调用 php 函数。表达式文档提到了函数,但也许我不明白......我是否需要注册我自己的函数,它只返回一个strlen(). 如果是这样,您如何注册自己的功能?有人可以解释是否有办法做到这一点,或者也许有比使用我忽略的表达式更好的方法......

在上述情况下,我得到一个错误The function "strlen" does not exist around position 1

0 投票
1 回答
1120 浏览

php - Symfony 嵌入式表单验证

我有几个实体,它们以单一形式使用,从抽象类扩展而来。我为每个实体创建了一个表单类型,然后将它们嵌入到父表单中。

我想基于组执行验证,因此 EmailType 必须仅在 Assert\NotBlank(默认组)和 Assert\Email(电子邮件组)上检查“elemento”属性,而 Telefono 必须检查 Assert\NotBlank(默认组)和断言\正则表达式(电话组)。

使用我的配置执行两项检查(约束),因此在电子邮件约束和正则表达式上检查电子邮件,因此提交的电话是......我哪里错了?

收集电子邮件和电话上的员工实体已配置 Assert\Valid() 约束

这是示例

父表格

然后是 CBEmailType

CBTelefonoType

电子邮件和电话都扩展

0 投票
1 回答
7199 浏览

symfony - 无法将回调断言与没有 data_class 的表单一起使用

我正在创建一个名为 IntervalType 的自定义 FormType。我的 IntervalType 将有两个字段,start并且end是整数类型。此自定义 FormType 将始终在没有data_class.

我想添加一个约束来保证start低于end.

如何在没有 FormType 的情况下直接使用 Symfony\Component\Validator\Constraints\Callback data_class

这是我的IntervalType,仅供参考:

0 投票
1 回答
312 浏览

symfony - 实体验证 - 零或至少三个

我正在使用 symfony 2.8 版本,我遇到了以下问题。我希望实体“文章”的字段“seeAlso”被限制为具有零(无)或至少 3 个对象(另一篇文章)。所以我在我的 yaml 验证中有这些:

它检查它是否小于三个井,但它不允许我让该字段为空。我该如何进行这项工作?

0 投票
1 回答
1262 浏览

php - 如何在 symfony 表单中的表单类型上使用组序列?

这个想法是首先验证所有必填字段是否不为空。如果提供了所有必需的数据,则验证输入的值是否正确。组序列的常见情况。但是,当我申请new GroupSequence(["Basic", "Strict"])validation_groups选项时,即使所有字段都是空白的,表格也是有效的。如果validation_groups将值设置为["Basic", "Strict"]表单已正确验证但具有所有约束,那不是我想要的。我究竟做错了什么?

这是我的代码:

0 投票
1 回答
3686 浏览

symfony - Symfony 正则表达式验证器在注释中不起作用

我正在Symfony 3.2上构建应用程序

在应用程序的一个部分,我为我的用户提供了一个界面来更改他们的密码。对于这个任务,我有一个简单的表单,它绑定到我的ChangePasword实体,如下所示。

表格类:

和模型:

现在,问题是正则表达式验证器不起作用。它与任何东西都不匹配。

但是,如果我修改模型如下;它完美无缺:

您对这个问题的根源有任何想法吗?任何关于进一步调试案例的想法,将不胜感激。

0 投票
2 回答
2204 浏览

symfony - 在实体之外使用 UniqueEntity 且不使用表单

我需要验证用户传递的电子邮件:

但是UniqueEntity约束抛出异常:

警告:get_class()期望参数 1 是对象,给定字符串

似乎ValidatorInterface::validate()方法的第一个参数正在等待带有getEmail()方法的实体对象,但它看起来很难看。

是否有任何优雅的方法来验证仅将标量值传递给ValidatorInterface::validate()方法的字段的唯一性?