使用mkString()显示表单验证错误

时间:2013-05-03 11:57:20

标签: playframework playframework-2.0

我试图通过在我的表单上使用内置的mkString方法调用将错误消息显示到我的视图中。但结果并不像预期的那样:

我有:

    @productForm("name").errors().mkString(", ")

并且视图呈现以下内容:

    ValidationError(name,error.required,[])

如何显示确切消息?

我正在使用play 2.1.1(这是一个java项目)

由于

2 个答案:

答案 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()