Mam następujący kod w kontrolerze Wiosna:Konwersja błędy sprawdzania poprawności JSR-303 do sprężyny BindingResult
@Autowired
private javax.validation.Validator validator;
@RequestMapping(value = "/submit", method = RequestMethod.POST)
public String submitForm(CustomForm form) {
Set<ConstraintViolation<CustomForm>> errors = validator.validate(vustomForm);
...
}
Czy można mapować errors
do wiosennego BindingResult
obiektu bez konieczności ręcznego przechodzenia przez wszystkich błędów i dodanie ich do BindingResult
? Coś takiego:
// NOTE: this is imaginary code
BindingResult bindingResult = BindingResult.fromConstraintViolations(errors);
Teraz możliwe jest opisywanie CustomForm
parametr z @Valid
i niech Wiosna wstrzyknąć BindingResult
jako parametr innej metody, ale nie jest to rozwiązanie w moim przypadku.
// I know this is possible, but doesn't work for me
public String submitForm(@Valid CustomForm form, BindingResult bindingResult) {
...
}
Dzięki! To zdecydowanie bardziej zwięzłe. –
Nie widzę metody sprawdzania poprawności akceptującej BindingResult – gstackoverflow
Jeśli nie widzisz metody sprawdzania poprawności, która akceptuje wyniki wiązania, oznacza to, że walidator walidatora to javax.validation.Validator. Zmień go na org.springframework.validation.Validator, a wszystko będzie dobrze. Nie trzeba zmieniać definicji fasoli. – Icegras