Проверка ограничений Spring JSR-303 не проверяет целочисленные поля - PullRequest
0 голосов
/ 23 апреля 2019

У меня есть несколько полей количества в моей модели, которая является числовой. SpringValidatorAdapter не проверяет эти ограничения.

Если я объявляю тип данных полей, как показано ниже

public class Demo{

    @Max(value = "7", message = "{max message}")
    @Min(value = "1", message = "{min message}")
    private Integer amount1;

    @Max(value = "7", message = "{max message}")
    @Min(value = "1", message = "{min message}")
    private Integer amount2;
//getters and setters
}

Фрагмент контроллера

@PostMapping(value = { "/url" }, produces = "application/json;charset=utf-8")
@ResponseBody
public String test(@RequestBody Map<String, String> formInputs)  {
    Demo dmo=new Demo();
    String amount1 = formInputs.get("userinput1");
    dmo.setAmount1(Integer.parseInt(amount1));
    String amount2 = formInputs.get("userinput2");
    dmo.setAmount2(Integer.parseInt(amount2));
final Validator javaxValidator = Validation.buildDefaultValidatorFactory().getValidator();
final SpringValidatorAdapter validator = new SpringValidatorAdapter(javaxValidator);
errors = new BeanPropertyBindingResult(dmo, dmo.getClass().getName());
validator.validate(dmo, errors);

По ссылкам, которые я пытался

разница между @size (max = значение) и @min (значение) @max (значение)

Spring - проверка целочисленного атрибута

javax-проверка

Примечание: если я изменю это на String. Работает нормально.

...