Witam, mam problem walcze z tym już 2gi dzień. Potrzebuję zwalidować czy taki login już istnieje i tworzę interfejs:
@Documented
@Constraint(validatedBy = UniqueLoginValidator.class)
@Target({ElementType.TYPE })
@Retention(RetentionPolicy.RUNTIME)
public @interface UniqueLogin {
String message() default "This login already exists, please choose another one.";
Class<?>[] groups() default {};
Class<? extends Payload>[] payload() default {};
}
następnie klasę:
public class UniqueEmailValidator implements ConstraintValidator<UniqueEmail, User> {
@Autowired
private UserService userService;
@Override
public void initialize(UniqueEmail uniqueEmail) {
}
public boolean isValid(User user, ConstraintValidatorContext context) {
return !userService.findByEmail(user.getEmail()).isPresent();
}
}
i niestety wywala mi null pointera - Caused by: java.lang.NullPointerException: null
w dokladnie tym miejscu:
!userService.findByEmail(user.getEmail()).isPresent();
rozbijałem ten kod na części pierwsze i przy właśnie odwołaniu do serwisu jest null. Wszystkie inne funkcjonalności w innych klasach działają tylko w walidatorach mam problem.
Ktoś może mi pomóc?