在奏鸣曲中保存包含逗号的数字时"This value is not valid"



我正在使用Sonata和Symfony3。

开发CMS

我已经使用JavaScript自动库库迫使数字字段包含逗号,以使应用程序更加用户友好。

问题是,现在,当我尝试保存记录时,服务器会以"此值无效"消息标记字段。这是我在字段上使用的注释:

/**
 * @var float
 *
 * @ORMColumn(name="amount", type="decimal", scale=2, precision=12, nullable=true)
 * @AssertNotNull(message = "validator.not_blank")
 * @AssertRange(
 *      min = 0,
 *      max = 9999999999
 * )
 */

有没有办法告诉我的服务器端验证器在验证之前剥离逗号?

===

编辑#1:此字段使用numberType作为其类型。这是相关的管理代码:

        ->add(
            'amount',
            NumberType::class,
            array(
                'label' => 'list.label.salary.amount',
                'scale'=> 2,
                'required' => true,
                'attr' => array(
                    "class" => "compensation-number",
                ),
            )
        )

我的JavaScript创建了一个新的自动化实例,将表单字段作为其输入元素。

编辑#2:换句话说,该字段被视为浏览器中的字符串,我需要将该值转换为浮点,然后才能将其存储在数据库中。我不确定如何最好地做到这一点。

我最终在树枝模板中重复了字段,然后使用javaScript隐藏"真实"输入。然后,我有一个JavaScript侦听器更新了"真实"值,并使用用户可见的格式数字的清理版本。解决了我的问题。

相关内容

  • 没有找到相关文章

最新更新