2016-10-04 9 views
0

Java Validation APIとHibernate Validatorを使用して入力クラスを検証しています。 私はいくつかのビジネス検証のためのカスタムannontationを作成していませんし、これらの注釈を入力クラスで使用しています。以下はそのような注釈バリデーターの例です -カスタムConstraintValidatorで共通のデータを取得する方法

import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext;

public class DBColumnConstraintValidator implements ConstraintValidator<DatabaseColumnConstraint, Object> { 

private DBColumnConstraintValidator databaseColumnConstraint; 

private final List<DatabaseConstraintValidationStep> steps = new ArrayList<DatabaseConstraintValidationStep>(); 

@Override 
public void initialize(DBColumnConstraintValidator databaseColumnConstraint) { 



} 

@Override 
public boolean isValid(Object value, ConstraintValidatorContext context) { 

    //Validation logic 


} 

}

私ははisValid()メソッド内で私の検証ロジックのためのいくつかのデータを使用したいと、このデータは共通であり、同様に他のいくつかのバリデータクラスによって使用されます。

isValid()メソッドで共通のデータを使用できるように設定する方法はありますか?

答えて

0

CDIまたはSpringを使用している場合は、制約バリデータの実装内で依存関係注入(例:@Injectを使用)を使用して、必要なコンテキストサービスまたはデータを取得することができます。

関連する問題