我有一个链接到用户实体的symfony2实体。用户只提交用户名,而不是用户ID。所以我创建了一个完美的数据变换器。
由于用户名只能包含8个字符,我想通过在字段中添加Assert\Length
来创建自定义错误消息。但这不起作用,因为表单只接受用户对象,而不是字符串。
所以我尝试为用户字段创建Assert\Callback
,但这对我也没有用,因为我无法在Callback / ExecutionContextInterface中访问提交的值测试提交的字符串(不是对象,因为错误的长度意味着无法找到用户!)
使用DataTransformer也没有用,因为抛出的TransformationFailedException
不会被转换为用户的自定义错误消息 - 这就是我想要实现的目标!
有人知道怎么做吗?
非常感谢!
马丁