[英]symfony assert ignores custom message
我在实体中有这个代码:
/**
* @Assert\Type(
* type="real",
* message="Price for vehicle service must be real number."
* )
*
* @ORM\Column(name="min_price", type="float")
*/
protected $minPrice;
但是,如果在此表单字段中输入非整数值,Symfony将返回默认的区域设置错误消息(在我的情况下为Значениенедопустимо),而不是“车辆服务的价格必须是实数”。 这样不舒服,因为错误未指定字段名称,并且如果有复杂的表单需要时间来查找此字段。
也许因为解决方案可以是回调验证,但在我的主观意见中它不会出现,因为用户只能看到区域设置默认消息。 当我试图避免添加@Assert \\ Regex(pattern =“/ + d /”,message =“custom message”)时,我无论如何都看到了语言环境默认消息。
Symfony Profiler显示以下错误:
Symfony\Component\Validator\ConstraintViolation
Object(Symfony\Component\Form\Form).children[vehiclePriceOutOfTown].children[minPrice] = g
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Unable to reverse value for property path "minPrice": Number parsing failed: U_PARSE_ERROR
Caused by:
Symfony\Component\Form\Exception\TransformationFailedException
Number parsing failed: U_PARSE_ERROR
您看到的异常是在用户输入转换期间触发的。 这是在应用实际验证逻辑之前发生的(这发生在POST_SUBMIT
事件的一部分)。 如果要在抛出TransformationFailedException
时自定义显示的错误消息,则可以对特定表单类型使用invalid_message选项 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.