为 Play (Scala) 框架中的表单创建一般(非特定字段)错误消息
Create a general (not field specific) error message for the form in Play (Scala) framework
我可以像这样创建自定义字段特定的错误消息:
Form(form.mapping, Map(), Seq(FormError("postcode", "Not recognised")), None)))
如何为表单而不是特定字段创建自定义一般错误消息?类似于:
Form(form.mapping, Map(), Seq(FormError(None, "Could not send")), None)))
您正在寻找一个全局错误,它只是一个没有键的 FormError
(一个空的 String
,因为它不是 Option
)。 Form
有一个名为 withGlobalError
的方法,您可以在其中传递错误消息和其他参数。在你的情况下,如果你有一些 Form
:
val form: Form[?] = ???
form.withGlobalError("Could not send")
withGlobalError
只是调用 withError
,这大致相当于您的第二个片段,尽管它最终在 Form
上执行 copy
。您还可以看到 source.
在您的示例的上下文中,它看起来像这样:
Form(form.mapping, Map(), Seq(FormError("", "Could not send")), None)))
我可以像这样创建自定义字段特定的错误消息:
Form(form.mapping, Map(), Seq(FormError("postcode", "Not recognised")), None)))
如何为表单而不是特定字段创建自定义一般错误消息?类似于:
Form(form.mapping, Map(), Seq(FormError(None, "Could not send")), None)))
您正在寻找一个全局错误,它只是一个没有键的 FormError
(一个空的 String
,因为它不是 Option
)。 Form
有一个名为 withGlobalError
的方法,您可以在其中传递错误消息和其他参数。在你的情况下,如果你有一些 Form
:
val form: Form[?] = ???
form.withGlobalError("Could not send")
withGlobalError
只是调用 withError
,这大致相当于您的第二个片段,尽管它最终在 Form
上执行 copy
。您还可以看到 source.
在您的示例的上下文中,它看起来像这样:
Form(form.mapping, Map(), Seq(FormError("", "Could not send")), None)))