【发布时间】:2013-08-19 03:26:43
【问题描述】:
在我的 bean 中我有一个列表
List<SomeClass> values = new ArrayList<SomeClass>();
SomeClass{
int a;
int b;
int c;
}
我的验证码 -
int i =0
for(SomeClass entry: values){
if(entry.getA() < 0 && entry.getB() < 0 && entry.getC() > 0){
bindingResult.addError(newFieldError("bean", "values[" + i"].a", values.get(i).getA(),false,new String []{"error.code"}, null, null));
}
}
error.code 映射到字符串“如果 C 大于零,则 A 和 B 必须大于零”
问题是我想将错误代码映射到 values[i].a 和 values[i].b 以便这两个字段在 UI 上突出显示。
FieldError 构造函数接受String field 而不是String [] fields。
有没有办法为同一个错误添加两个错误字段?
谢谢
【问题讨论】:
-
为什么不直接调用
addError()两次,第二次调用.bFieldError? -
会在 UI 上添加另一条错误消息。我只想显示一条错误消息并突出显示两个字段
-
好的,很抱歉,对此没有一个好的答案,但可能是 1 个全局错误消息(不是特定于字段的 FieldError)加上一个 FieldError 和一个空错误消息?听起来像 hack :-)
-
尝试将 null 和空白字符串作为错误消息传递,但 spring mvc 足够聪明,可以对其抛出异常:) 对于每个错误,都需要错误消息。
标签: java spring-mvc