1

我想要实现的是有序的错误消息。给出以下 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 组序列,但我希望也许有人已经遇到过这个问题

4

1 回答 1

1

你是对的,如果你想执行一个命令,你需要使用一个组序列。但是,在这种情况下,一旦发生约束冲突,验证就会停止。这意味着在这种情况下,您将永远不会违反firstNamelastName的约束。

还要考虑你得到了一违规,并且没有保证对一组的迭代顺序。

于 2012-09-25T08:20:25.037 回答