根据另一个字段触发 NotBlank 验证

famas23

我有一个symfony的形式,我需要触发一个@Assert\NotBlank只有当$receiverNewsletter如果不是空白。

/**
 * @var string
 *
 * @Assert\NotBlank
 * @Assert\Email
 *
 * @ORM\Column(name="email", type="string", length=190)
 */
private $email;


/**
 * @var bool
 *
 * @ORM\Column(name="receiveNewsletter", type="boolean")
 */
private $receiveNewsletter;

我的表格的一部分:

    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('receiveNewsletter', CheckboxType::class, ['label' => 'form.label.receiveNewsletter'])
            ->add('email', EmailType::class, ['label' => 'form.label.email', 'required' => false])
}

知道如何使用有效负载来说明如果 receiveNewsletter 不为空,然后在电子邮件字段上触发 NotBlank 验证吗?

卢多

您可以Expression为此特定功能使用约束。它没有NotBlank专门使用,但我发现它更优雅的解决方案。

use Symfony\Component\Validator\Constraints as Assert;

/**
 * @Assert\Expression(
 *     "(this.getReceiveNewsletter() and this.getEmail()) or !this.getReceiveNewsletter()",
 *     message="Email cannot be empty when Receive Newsletter is marked"
 * )
 */
class Entity
{
...
}

您对整个实体施加约束,它根据表达式语法评估表达式

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Django根据另一个字段的值验证字段

来自分类Dev

Bootstrap x-editable:根据另一个字段的值验证字段

来自分类Dev

根据另一个字段的值验证 JSON 数据

来自分类Dev

取决于另一个字段的条件字段验证

来自分类Dev

如何验证基于另一个字段的字段?

来自分类Dev

在DRF的字段级别验证中获取另一个字段的值

来自分类Dev

将另一个字段从字段添加到验证器中

来自分类Dev

如何验证基于另一个字段的字段?

来自分类Dev

Rails - 如果另一个字段不为空,则验证字段

来自分类Dev

基于另一个字段的JQUERY验证

来自分类Dev

symfony验证另一个字段是否为特定值

来自分类Dev

MVC验证-更新另一个字段?

来自分类Dev

验证另一个字段是否大于

来自分类Dev

如何在Rails验证中使用另一个字段

来自分类Dev

验证一个字段或另一个字段或两者都存在(或)

来自分类Dev

Rails会验证一个字段值,除非另一个字段具有值

来自分类Dev

如果另一个字段在Rails表单中为空,则验证嵌套字段

来自分类Dev

Laravel 5.6:将不同的表单字段值传递到另一个字段的验证中

来自分类Dev

Laravel验证:如果另一个字段可用,则需要两个字段中的任何一个

来自分类Dev

除非另一个字段是真实的轨道,否则如何测试验证存在性?

来自分类Dev

Laravel 验证规则 required_if 另一个字段值在数组中,不起作用

来自分类Dev

每当一个或另一个字段使用Angular指令更改模型(每次击键)时,验证密码并确认密码字段

来自分类Dev

每当一个或另一个字段使用Angular指令更改模型(每次击键)时,都要验证密码并确认密码字段

来自分类Dev

手动触发一个字段的客户端验证

来自分类Dev

在一个字段上多次验证

来自分类Dev

JSF SelectOneMenu 在修复另一个字段的验证错误并重新提交表单后显示错误值

来自分类Dev

可以使用休眠验证器根据来自另一个类的字段值来验证字段

来自分类Dev

使用javascript进行表单验证,即使只验证第一个字段,也仅验证第一个字段

来自分类Dev

jQuery验证仅验证第一个字段-其他被忽略

Related 相关文章

  1. 1

    Django根据另一个字段的值验证字段

  2. 2

    Bootstrap x-editable:根据另一个字段的值验证字段

  3. 3

    根据另一个字段的值验证 JSON 数据

  4. 4

    取决于另一个字段的条件字段验证

  5. 5

    如何验证基于另一个字段的字段?

  6. 6

    在DRF的字段级别验证中获取另一个字段的值

  7. 7

    将另一个字段从字段添加到验证器中

  8. 8

    如何验证基于另一个字段的字段?

  9. 9

    Rails - 如果另一个字段不为空,则验证字段

  10. 10

    基于另一个字段的JQUERY验证

  11. 11

    symfony验证另一个字段是否为特定值

  12. 12

    MVC验证-更新另一个字段?

  13. 13

    验证另一个字段是否大于

  14. 14

    如何在Rails验证中使用另一个字段

  15. 15

    验证一个字段或另一个字段或两者都存在(或)

  16. 16

    Rails会验证一个字段值,除非另一个字段具有值

  17. 17

    如果另一个字段在Rails表单中为空,则验证嵌套字段

  18. 18

    Laravel 5.6:将不同的表单字段值传递到另一个字段的验证中

  19. 19

    Laravel验证:如果另一个字段可用,则需要两个字段中的任何一个

  20. 20

    除非另一个字段是真实的轨道,否则如何测试验证存在性?

  21. 21

    Laravel 验证规则 required_if 另一个字段值在数组中,不起作用

  22. 22

    每当一个或另一个字段使用Angular指令更改模型(每次击键)时,验证密码并确认密码字段

  23. 23

    每当一个或另一个字段使用Angular指令更改模型(每次击键)时,都要验证密码并确认密码字段

  24. 24

    手动触发一个字段的客户端验证

  25. 25

    在一个字段上多次验证

  26. 26

    JSF SelectOneMenu 在修复另一个字段的验证错误并重新提交表单后显示错误值

  27. 27

    可以使用休眠验证器根据来自另一个类的字段值来验证字段

  28. 28

    使用javascript进行表单验证,即使只验证第一个字段,也仅验证第一个字段

  29. 29

    jQuery验证仅验证第一个字段-其他被忽略

热门标签

归档