2017-11-27 6 views
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 

     } 
} 

リフレクションを使用してこれを行う方法はありますか?

+1

オブジェクトを指定すると、フィールドの値を反映することができます。それを行う方法には、たくさんの既存のリソースがあります。それとも何か他のことについてあなたの質問ですか? –

+1

はい、反射を使って 'someField'の値を知ることはかなり簡単です。あなたはこれまでに何を試しましたか?何がうまくいかなかったのですか? https://docs.oracle.com/javase/tutorial/reflect/ –

+0

[リフレクションでオブジェクト内のフィールドを取得する方法は?](https://stackoverflow.com/questions/2989560/how-to) -get-the-fields-in-object-via-reflection) – adrianwong

答えて

関連する問題