Come utilizzare @valid con convalida personalizzata?
-
29-10-2019 - |
Domanda
Sto usando il framework di annotazione di convalida Hibernate per convalidare le mie classi di dominio e convalidare il mio oggetto di dominio con l'annotazione @valid come segue:
@RequestMapping(method = RequestMethod.POST)
public String post(@Valid @ModelAttribute("person") Person person,BindingResult errors) {...}
E mi chiedevo se volevo effettuare una convalida personalizzata come il controllo se esiste un'e -mail nel database
Quello che sto facendo in questo momento è avere una proprietà nel dominio:
@AssertFalse(message = "{email.missmatch}")
private boolean emailExist;
E l'ho impostato nel metodo post:
person.setEmailExist(personDao.isEmailExist(person.getEmail()));
Sopra stava lavorando con la classe di validatore Hibernate personalizzata che ho dovuto convalidare i domini e chiamavo il validatore dopo aver impostato la proprietà
Ma ora con @valid, il validatore viene chiamato prima di impostare la proprietà
Quindi, c'è una soluzione per utilizzare @valid con questo caso? Oppure non funzionerà, se non funzionerà, ti preghiamo di suggerirmi come convalidare la mia classe di dominio in questo caso invece di usare @valid, cosa usare?
Grazie in anticipo.
Nessuna soluzione corretta