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

Playframework 使用mkString()显示表单验证错误,playframework,playframework-2.0,Playframework,Playframework 2.0,我试图使用表单上内置的mkString方法调用在视图中显示错误消息。然而,结果并不像预期的那样: 我有: @productForm("name").errors().mkString(", ") 该视图呈现以下内容: ValidationError(name,error.required,[]) 如何显示确切的信息 我正在使用Play2.1.1(它是一个java项目) 谢谢@productForm(“name”)。errors()返回验证错误对象的集合。您希望对验证错误消息集

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

我有:

    @productForm("name").errors().mkString(", ")
该视图呈现以下内容:

    ValidationError(name,error.required,[])
如何显示确切的信息

我正在使用Play2.1.1(它是一个java项目)

谢谢

@productForm(“name”)。errors()
返回
验证错误
对象的集合。您希望对验证错误消息集合运行
mkString
,因此需要首先将的
ValidationError
集合映射到字符串集合:

@productForm("name").errors().map(n => n.message).mkString(",")
我认为这将返回您的
错误。必需的
,这仍然不是您想要的。因此,在映射时,您可能希望映射到消息API查找:

@productForm("name").errors().map(n => Messages(n.message)).mkString(",")

如果希望字段名出现错误,请使用错误而不是错误

@productForm.error("name").message
如果您需要错误的参数,例如最大长度或任何您可以使用的参数

@productForm.error("name").arguments()

完美的这很有效。尽管对应用于消息的get()方法进行了轻微修改:
@productForm(“name”).errors().map(n=>Messages.get((n.message)).mkString(“,”)
@productForm.error(“name”).message
将返回密钥,因此,在我的示例中,这将是
error.name.required
——因此需要将其映射到值。可以像这样实现:
@Messages.get(productForm.error(“name”).message)