Validation 验证程序错误排序

Validation 验证程序错误排序,validation,bean-validation,hibernate-validator,Validation,Bean Validation,Hibernate Validator,我想要实现的是有序的错误消息。给出以下bean类 public class DummyBean{ @NotNull public String firstName; @NotNull public String lastName; } 然后像这样使用: private Validator validator; @Autowired public DummyController(Validator validator) { this.validato

我想要实现的是有序的错误消息。给出以下bean类

public class DummyBean{

    @NotNull
    public String firstName;

    @NotNull
    public String lastName;
}
然后像这样使用:

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());
    }
}
私有验证程序;
@自动连线
公共DummyController(验证器验证器){
this.validator=验证程序;
}
公共void验证(DummyBean){
映射失败消息=新建LinkedHashMap();
for(ConstraintViolation失败:validator.validate(bean)){
failureMessages.put(failure.getPropertyPath().toString(),failure.getMessage());
}
}
如何确保与属性“firstName”相关的错误消息始终位于与“lastName”相关的第一位


Afaik只能对组序列进行排序,但我希望可能有人已经遇到了这个问题

你是对的,如果你想强制执行一个顺序,你需要使用组序列。但是,在这种情况下,一旦发生约束冲突,验证就会停止。这意味着在这种情况下,firstName和lastName都不会违反约束


还认为您得到了一组违规,并且在集合上没有保证的迭代顺序。 你是对的,如果你想执行一个命令,你需要使用一个组序列。但是,在这种情况下,一旦发生约束冲突,验证就会停止。这意味着在这种情况下,firstName和lastName都不会违反约束

还认为您得到了一组违规,并且在集合上没有保证的迭代顺序。 这与…有关/相同这与…有关/相同