使用@Valid注释在Spring 3.x中进行验证: 以下是messages_en.properties的片段。我有一个具有用户名和密码字段的表单。当用户未在“用户名”字段中输入任何内容时,它会在另一个下方显示这两个消息。
NotEmpty.loginBean.username=Username cannot be Empty
Size.loginBean.username=Size must between 5 to 50 characters.
不解释message.properties中给出的任何HTML标记。
NotEmpty.loginBean.username=<li>Username cannot be Empty</li>
上面会显示&lt; li&gt;原样。 问题: 1)有没有办法解释HTML标签并显示其输出? 2)虽然验证都失败了,但我可以显示单个消息吗?
答案 0 :(得分:1)
广告。 1)是的,使用htmlEscape="false"
:
<form:errors path="nip" cssClass="error" htmlEscape="false" />
广告。 2)这实际上是JSR303的阿基里斯脚跟 - 它可以完成,但既不容易也不干净(见this issue)。验证每个带注释字段的顺序是未定义的,因此诀窍是使用@GroupSequence
和自定义组,如here或here所述。
替代解决方案是使用custom annotation with @ReportAsSingleViolation,但它不会区分NotEmpty和Size错误,因为它会有自己的错误消息。