我想要实现的是有序的错误消息。提供以下bean类
public class DummyBean{
@NotNull
public String firstName;
@NotNull
public String lastName;
}
并使用LocalValidatorFactoryBean这样:
private Validator validator;
@Autowired
public DummyController(Validator validator) {
this.validator = validator;
}
public void validate(DummyBean bean){
Map<String, String> failureMessages = new LinkedHashMap<String, String>();
for (ConstraintViolation<DummyBean> failure : validator.validate(bean)) {
failureMessages.put(failure.getPropertyPath().toString(), failure.getMessage());
}
}
如何确保与属性“firstName”相关的错误消息始终首先与“lastName”相关?
Afaik只有团体序列可以订购,但我希望有人可能已经遇到过这个问题
答案 0 :(得分:1)
您是对的,如果您想强制执行订单,则需要使用组序列。但是,在这种情况下,一旦发生约束违规,验证就会停止。这意味着在这种情况下,您永远不会因 firstName 和 lastName 而违反约束。
还要考虑您是否收到了 Set 违规行为,而且没有一套保证的迭代顺序。