我有一个HTML表单,它将数据提交给spring post方法。我已经使用javax.validation库和@Valid标签启用了验证:
Task
Task
是绑定到表单的主要对象,但User
包含一个名为fullName
的类。用户有systemType
。我试图验证两个字段:
@Size(min=1, message="The System Type must contain a valid option")
private String systemType;
是Task对象中的一个String:
fullName
@Size(min=1, message="A User must be selected.")
private String fullName;
是User对象中的String:
BindingResult
验证本身正在运行,但我想弄清楚如何做的是获取默认消息。当我遍历result
error.getDefaultMessage()
以查找错误并打印出systemType
时,fullName
错误消息按预期工作。
但是,如果Property 'user.fullName' threw exception; nested exception is java.lang.ArrayIndexOutOfBoundsException: 1
字段存在验证错误,则会打印:
Task
我相信这是因为它是主类t, err := template.ParseFiles(path)
if err != nil {
log.Print(err)
return
}
的内部类,它实际上是经过验证的。我想我可以写一些逻辑来说如果这个错误只是打印我真正想要的错误信息 - 但是有没有办法在错误中找到我最初指定的默认信息?