如果string
出现,那么这些验证是不够的。
import play.data.validation.Constraints.Max;
import play.data.validation.Constraints.Min;
import play.data.validation.Constraints.Required;
@Required
@Min(1)
@Max(500)
private Integer capacity;
我如何检查
Set<ConstraintViolation<Object>> violations = (Set) play.data.validation.Validation.getValidator().validate(object, Default.class);
for (ConstraintViolation<Object> violation : violations) {
System.out.println(violation.getPropertyPath().iterator().next().getName());
System.out.println(violation.getMessageTemplate());
}
soppose用户发送"govind"
代替Integer值,然后给出执行异常
有没有办法通过@annotaions
进行检查?
或任何其他建议的方式? 我收到错误
play.api.Application $$ anon $ 1:执行异常[[RuntimeException: com.fasterx ml.jackson.databind.exc.InvalidFormatException:不能 从String值构造in t的实例&#39; govind&#39;:不是有效的整数 值
答案 0 :(得分:0)
对于正整数,请尝试
@Pattern(value = "[0-9]+", message = "The value must only contain digits.")