@dm_black

Проблемы с валидацией на Spring Boot + Oval?

Здравствуйте, я использую Spring Boot 1.3 и OVal 1.85. Моя модель:

@Entity
@Table(name = "company")
public class Company extends BaseModel {

    @NotBlank
    @NotNull
    @Length(min = 5, max = 50)
    @Column(nullable = false, name = "name", length = 50)
    private String name;

}

Мой контроллер:

@RestController
@RequestMapping("/company")
public class CompanyController {

    @Autowired
    private CompanyService companyService;

    @RequestMapping(value = "", method = RequestMethod.POST)
    public Company saveCompany(@RequestBody(required = true) @Valid Company company) {
        return companyService.save(company);
    }
}

Но аннотация valid пропускает некорректные значения. Проект без XML, только аннотации. Что можете посоветовать?
  • Вопрос задан
  • 283 просмотра
Пригласить эксперта
Ответы на вопрос 1
zolt85
@zolt85
Программист
Могу посоветовать свой валидатор написать. Валидатор - это класс реализующий интерфейс org.springframework.validation.Validator. Затем этот валидатор надо добавить таким не хитрым способом в контроллере:
/** */
    @InitBinder
    public void initBinder(WebDataBinder binder) {
        binder.addValidators(new CompanyValidator());
    }

а в saveCompany использовать аннотацию @Validated вместо valid
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Bell Integrator Ульяновск
До 400 000 ₽
Bell Integrator Хабаровск
До 400 000 ₽
Bell Integrator Ижевск
До 400 000 ₽