【问题标题】:How to validate decimal scale length in symfony php?如何在 symfony php 中验证十进制刻度长度?
【发布时间】:2021-05-25 15:48:40
【问题描述】:

在 symfony 框架中,您可以设置 scale 值,但这会导致 symfony 在 scale 之后为您舍入它。例如,如果长度> 5,有没有办法触发异常?下面的代码只会将浮点数四舍五入到 5,我想知道如果它超过 5,如何抛出异常。

$builder
        ->add('amount', NumberType::class, [
            'mapped' => false,
            'required'   => false,
            'scale' => 5,
        ])

【问题讨论】:

  • 我不确定我是否理解这个问题。您想防止有人在代码中定义大于 5 的比例吗?
  • 不,对于一个表单,我想允许 5.12345 但不允许 5.123456,第一个的比例为 5,但我希望超过 5 的任何东西都可以抛出异常。所以基本上我只想将用户输入的小数点后位数限制为 5
  • 编写自定义验证器和check manually

标签: php symfony validation symfony-forms


【解决方案1】:

您可以在您的字段“金额”上使用 Symfony 验证来验证提交时的规模。

【讨论】:

  • 哪个验证器有规模验证?
猜你喜欢
  • 1970-01-01
  • 2018-07-10
  • 2011-11-24
  • 1970-01-01
  • 2011-01-14
  • 1970-01-01
  • 1970-01-01
  • 2010-12-26
  • 2013-06-26
相关资源
最近更新 更多