当前位置: 首页 > 知识库问答 >
问题:

Symfony表单价格字段-带有消息的自定义断言

壤驷兴朝
2023-03-14

默认情况下,消息:此值无效。这是不够的。我正在向实体中的每个属性添加@Assert,以进行更具体的验证。

我将在表单顶部全局显示错误,而不是单独显示错误,以防在本次讨论中出现问题。

/**
 * @ORM\Column(type="decimal", nullable=false, precision=10, scale=2)
 * @Assert\Type(message="list price must be a numeric value", type="decimal")
 * @Assert\NotBlank(message="list price cannot be empty")
 * @Assert\GreaterThanOrEqual(message="list price must be no less than zero", value = 0)
 */

private $listPrice;

这是迄今为止我所知道的,但当我输入值“D44.33”时,表单仍然无效

如何覆盖默认的“类型”验证器?请注意,其他验证器(如GreaterThanOrEqual)的工作原理与预期相同,但就我而言,我无法让“类型”工作???

共有2个答案

邢高澹
2023-03-14

@Jason Roman-再次感谢你的帮助

我面临的问题通过使用“无效消息”解决了,如下所示:

->add('listPrice', null, ['error_bubbling' => true, 'invalid_message' => '{{ value }} is not a valid list price'])
黄信厚
2023-03-14

类型decimal在Symfony中不是有效的类型,因此它可能正在查找自定义decimal类型并尝试转换数据,但失败(这与您收到的错误消息类型一致)。

允许的类型列表如下所示:

http://symfony.com/doc/current/reference/constraints/Type.html#reference-约束类型

请尝试使用此选项:

@Assert\Type(type="float", message="List price must be a numeric value")
 类似资料:
  • 我正在为Joomla开发定制组件。 通过添加自定义规则,我在验证字段方面做得很好。但若输入的值并没有通过我的验证,它将给出错误为“无效字段:我的字段名” 我想用我自己的信息来代替它。 我知道我可以使用JText::_('LANGUAGE_STRING')。但是我不确定我需要在哪里添加它。 我有一个名为“validemails”的自定义规则,它在客户端和服务器端验证中都返回false。 我的客户端验

  • 我正在尝试自定义Symfony表单标签,通过此Symfony文档为所有必填字段添加星号(*)。但是我的星号

  • 我试图用Spring Cloud Stream创建一个kafka使用者,以便监听在任何Spring上下文之外构建的kafka消息,并使用自定义头(operationType)。 我使用的是Spring Boot 1.5.x/Spring Cloud egdware.sr5和1.1.1版本的kafka-client和Kafka2.11。 我的侦听器类包含此方法 而operationType标头是存在

  • 我有一个工作表单,它有一个必填字段,不能为空: 如果我在请求中指定此字段,但将该字段保留为空,则会得到以下响应: 如果我在请求中省略此字段,我将得到以下响应: 有没有一些内置的Symfony逻辑,我可以用它来使第二个例子与第一个例子相匹配? [编辑]使用的是Symfony 2.5-现在更新为Symfony 2.8。同样的问题。

  • 我想将 UI 表视图与不同的自定义表视图单元一起使用。我的3个单元格是这样的: Cell1:应该有一个图像和一个标签。 Cell2:应该有两个标签。 Cell3:应该有一天选择器。 我不想为单元格编写标签代码。我如何在Swift中管理这些?我必须为每个单元格编写自己的类吗?我可以使用一个tableviewController吗?如何在不同的单元格中填充数据? 我想生成一个表视图,就像iOS设备的联

  • 我正在尝试使用基于自定义列表的自定义创建一个自定义。 自定义对象是名为的类名,其中包含一些用于消息内容、收件人、时间戳和状态(读取、发送等)的字段。 在看了这个问题:用FXML在JavaFX中定制ListView之后,我成功地做到了: null 现在,ConversationCell类: 我不能显示ConversationCellController,但我所能说的是,这是我(在其构造函数中)加载设