我试图通过在我的表单上使用内置的mkString方法调用将错误消息显示到我的视图中。但结果并不像预期的那样:
我有: @productForm("name").errors().mkString(", ")
并且视图呈现以下内容:
ValidationError(name,error.required,[])
如何显示确切消息?
我正在使用play 2.1.1(这是一个java项目)
由于
答案 0 :(得分:2)
@productForm("name").errors()
返回ValidationError
个对象的集合。您希望在一组验证错误消息上运行mkString
,因此您需要首先将ValidationError
集合映射到字符串集合:
@productForm("name").errors().map(n => n.message).mkString(",")
我认为现在这将返回error.required
,这仍然不是你想要的。因此,当您映射时,您可能希望映射到Messages API查找:
@productForm("name").errors().map(n => Messages(n.message)).mkString(",")
答案 1 :(得分:0)
如果您想要字段名称的错误,请使用错误而不是错误
@productForm.error("name").message
如果你需要错误的参数,例如最大长度或你可以使用的任何东西
@productForm.error("name").arguments()