0
class A {
private String someField;
@validation
private String annotatedField;
}
annotatedField
を検証するカスタム制約検証の注釈@validation
を実装しています。私はsomeField
の価値を知り、私の検証の論理を満たす必要があります。反映を使用して関連フィールドの値を取得する方法
Validator implements ConstraintValidator<validation, String>{
@Override
public void initialize(validation constraintAnnotation) {
}
@Override
public boolean isValid(String annotatedField, ConstraintValidatorContext context) {
if (StringUtils.isBlank(annotatedField)) {
return true;
}
String someField; // get some someField value given the annotatedField
}
}
リフレクションを使用してこれを行う方法はありますか?
オブジェクトを指定すると、フィールドの値を反映することができます。それを行う方法には、たくさんの既存のリソースがあります。それとも何か他のことについてあなたの質問ですか? –
はい、反射を使って 'someField'の値を知ることはかなり簡単です。あなたはこれまでに何を試しましたか?何がうまくいかなかったのですか? https://docs.oracle.com/javase/tutorial/reflect/ –
[リフレクションでオブジェクト内のフィールドを取得する方法は?](https://stackoverflow.com/questions/2989560/how-to) -get-the-fields-in-object-via-reflection) – adrianwong