Spring MVC アプリケーションでカスタムバリデーターを作成しようとしています。@Model オブジェクトをカスタム Spring バリデーターに渡す方法があるかどうか知りたいですか?
Person オブジェクトと Account オブジェクトがあるとします。Person を検証するカスタム バリデーターを作成する必要がありますが、検証はアカウント オブジェクトとセッション内の他のオブジェクトに依存します。
たとえば、Person は 3 つを超えるアカウントを持つことはできず、アカウントの種類は特定のカテゴリに属し、3 年以上経過していない必要があります (この値、つまり、年数は、ログインしてセッションにあるプロファイルに基づいて動的になります)。
両方のオブジェクト、特に @Model をバリデータに渡すにはどうすればよいですか。
public class ServiceValidator implements Validator {
@Autowired
private ServiceDAO servicesDao;
@Override
public boolean supports(Class<?> clasz) {
return clasz.isAssignableFrom(Person.class);
}
@Override
public void validate(Object obj, Errors errors) {
Person subscriber = (Person) obj;
// How can I access @Model object here ???
}