簡體   English   中英

驗證無效的Integer值

[英]Validation for not a valid Integer value

如果出現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());
        }

假設用戶發送"govind"代替Integer值,然后給出執行異常

有什么辦法可以通過@annotaions進行檢查?

或任何其他建議的方式? 我遇到錯誤

play.api.Application $$ anon $ 1:執行異常[[RuntimeException:com.fasterx ml.jackson.databind.exc.InvalidFormatException:無法從字符串值'govind'構造int的實例:無效的Integer值

對於正整數,請嘗試

@Pattern(value = "[0-9]+", message = "The value must only contain digits.")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM