Adnotacje @Valid wewnątrz kodu.

Adnotacje @Valid wewnątrz kodu.
  • Rejestracja: dni
  • Ostatnio: dni
0

Używam sobie tej walidacji i mam jakąś klasę np:

Kopiuj
public class User {
    @Id
    private Long id;
    @Size(max = 255)
    @NotNull
    private String name;
    @Size(max = 255)
    @NotNull
    private String surname;
}

I fajnie to np. w controllerze śmiga.

Kopiuj
 public User newUser(@RequestBody @Valid User user) {
       jakiś tam kod..
    }

Natomiast zastanawiam się czy da się jakoś tej walidacji użyć gdziekolwiek indziej w kodzie, gdzie tworze obiekt usera. Np.

Kopiuj
public User jakasMetodaZwracajacaInnegoUsera() {
  User userNowy = new User(tutaj argumenty które są niezgodne z walidacją)
       return validMetoda(userNowy);
    }

public User validMetoda(@Valid User user){
   return user;
}

Bo w przypadku który podałem wyżej, nie waliduje tylko zwraca obiekt.

Prędki_Lopez
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 253
0

Adnotacja @Valid to Springowa adnotacja dla kontrolera. Możesz spróbować utworzyć ValidatorFactory, zbudowac validator i przypisać go do Obiektu typu Validator. Metoda Validatora "validate" bedzie Ci zwracać wszystkie błędy walidacji "violations", które zostały utworzone. Jakoś to tam handlowac możesz warunkiem, albo RuntimeException rzucić (ale tutaj nie jestem pewien czy to dobra praktyka.) Na pewno używa się tego do testów integracyjnych walidacji.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.