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 に答える