我正在使用javax.validation
beanJSR-303
验证。
调用 validate 方法后,我检查结果并在我的 GUI 中执行某些操作(例如突出显示我的表单中的失败字段)。
我的问题在这里:
MyBean.java
public class MyBean {
@Size(min = 1, message = "Please insert title")
private String title;
@Size(min = 1, message = "Please insert author")
private String author;
@Size(min = 1, message = "Please insert publisher")
private String publisher;
// ... something
}
我的验证方法:
Set<ConstraintViolation<MyBean>> failures = this.validator.validate(bean);
之后,我遍历了我的失败对象:
for (ConstraintViolation<MyBean> constraintViolation : failures) {
propertyPath = constraintViolation.getPropertyPath().toString();
if (propertyPath.equals("title")) {
Color bg = new Color(242, 242, 251);
this.txtTitle.setBackground(bg);
}
// some else if for other attributes (for example: author)
// add error to all error messages
errorMessage += constraintViolation.getMessage();
}
现在我的问题是:这些对象在故障集中的顺序。这是不正确的。有没有获得正确顺序的解决方案?
谢谢大家