gpt4 book ai didi

forms - Symfony 4 -- 表单最小最大验证

转载 作者:行者123 更新时间:2023-12-04 12:46:06 26 4
gpt4 key购买 nike

如何在验证前确保 min < max

这里是我的实体

/**
* @var int
*
* @ORM\Column(name="min", type="integer", nullable=true)
*/
private $min;

/**
* @var int
*
* @ORM\Column(name="max", type="integer", nullable=true)
*/
private $max;

形式:

  ->add('min',               NumberType::class,array('required' => false))
->add('max', NumberType::class,array('required' => false))

这是一个选项,在验证表单之前,最小值必须低于最大值

如果不正确,我如何验证并向用户发送消息以更改他的表单。

谢谢

最佳答案

我可以想到多种方法来解决这个问题。

  1. Callback-Constraint 已经在评论中提到了。
  2. 创建您自己的自定义约束
  3. 使用表达式约束

可能后者是最简单的。基本上它看起来像这样:

/**
* @Assert\Type("integer")
* @Assert\Expression("this.getMin() <= this.getMax()")
*/
private $min;

/**
* @Assert\Type("integer")
*/
private $max;

参见:https://symfony.com/doc/current/reference/constraints/Expression.html

创建自定义约束比回调约束更费工夫,因此我不会对此进行详细介绍,但您可以在文档中找到一篇不错的文章。

关于forms - Symfony 4 -- 表单最小最大验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47983580/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com