Я хочу создать свой собственный пользовательский валидатор Hibernate и то, что я хотел бы сделать, это добавить пользовательскую логику на основе некоторой информации, собранной из другого контекста (другой пружинный фасоль) < /p>
На моей пользовательской реализации я попытался добавить конструктор и определить валидатор в пружинной фасоли или использование Autowire Annutation и не один из них. /> Пример Autowire: < /p>
public class MyCustomValidator implements ConstraintValidator {
@Autowired
private MyCustomChecker customChecker;
@Override
public void initialize(CustomConstraint constraintAnnotation) {
}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if (null == value) {
return true;
}
//get user authenticated properties to perform validation based on the user
AuthenticatedIdentity identity = Context.getAuthenticatedIdentity();
return customChecker.isWhitelisted(identity);
}
}
< /code>
Пример конструктора: < /p>
public class MyCustomValidator implements ConstraintValidator {
private MyCustomChecker customChecker;
public MetricDataSizeValidator(MyCustomChecker customChecker) {
this.customChecker = customChecker;
}
@Override
public void initialize(CustomConstraint constraintAnnotation) {
}
@Override
public boolean isValid(String value, ConstraintValidatorContext context) {
if (null == value) {
return true;
}
//get user authenticated properties to perform validation based on the user
AuthenticatedIdentity identity = Context.getAuthenticatedIdentity();
return customChecker.isWhitelisted(identity);
}
}
< /code>
Я читал о официальном документе Hibernate, но это не совсем отвечает на мой вопрос. < /p>
arg
< /code>
Есть ли какой -нибудь пример, как это достичь? < /p>
update < /strong> < /p>
Если я настрою свой валидатор: < /p>
< /code>
Теперь я вижу, что проверка подключена правильно с помощью пружинных бобов. Однако теперь я сомневаюсь, использую ли я HibernateValidator (я думаю, что я не). Есть ли способ достичь того же самого, но настроить фабрику HibernateValidator для использования пружинных бобов?
Подробнее здесь: https://stackoverflow.com/questions/595 ... -validator