您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何驗證后臺參數”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何驗證后臺參數”吧!
以前在處理web請求參數校驗時,少不了類似下方的代碼
if(age < 18) { System.out.println("請輸入正確的年齡(太小了)"); } if(age > 100) { System.out.println("請輸入正確的年齡(太大了)"); } if(name == null || name.trim().length() == 0) { System.out.println("姓名不能未空"); } if(name != null && (name.trim().length() < 2 || name.trim().length() > 20)) { System.out.println("姓名長度錯誤"); }
可以用validation插件做,需要引入依賴:
<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.14.Final</version> </dependency> <dependency> <groupId>org.glassfish</groupId> <artifactId>javax.el</artifactId> <version>3.0.0</version> </dependency>
全部代碼如下:
package test; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.constraints.*; import java.util.Arrays; import java.util.List; import java.util.Set; public class ValidateTest { public static void main(String[] args) { UserInfo user = new UserInfo(0, "", "", null, "s"); System.out.println("---------- old method ----------"); oldMethod(user); System.out.println("---------- new method ----------"); newMethod(user); } private static void oldMethod(UserInfo user) { String name = user.getName(); int age = user.getAge(); List<String> tags = user.getTags(); if(age < 18) { System.out.println("請輸入正確的年齡(太小了)"); } if(age > 100) { System.out.println("請輸入正確的年齡(太大了)"); } if(name == null || name.trim().length() == 0) { System.out.println("姓名不能未空"); } if(name != null && (name.trim().length() < 2 || name.trim().length() > 20)) { System.out.println("姓名長度錯誤"); } if(tags.size() < 1 || tags.size() > 10) { System.out.println("至少輸入一個標簽,最大支持10個標簽"); } for(String tag : tags) { if(tag == null || tag.trim().length() == 0) { System.out.println("標簽內容不能為空"); } } } private static void newMethod(UserInfo user) { Set<ConstraintViolation<UserInfo>> errorSet = Validation.buildDefaultValidatorFactory().getValidator().validate(user); errorSet.forEach(item-> { System.out.println(item.getMessage()); }); } static class UserInfo { @Min(value = 18, message = "請輸入正確的年齡(太小了)") @Max(value = 100, message = "請輸入正確的年齡(太大了)") int age; // @Pattern(regexp = "[a-z]|[A-Z]") @NotBlank(message = "姓名不能為空") @Size(min = 2, max = 20, message = "姓名長度錯誤") String name; @NotNull @Size(min = 1, max = 10, message = "至少輸入一個標簽,最大支持10個標簽") List< @NotBlank(message = "標簽內容不能為空") @Size(min = 1, max = 10, message = "標簽內容長度限制1-10個字符") String> tags; public UserInfo(int age, String name, String... tags) { this.age = age; this.name = name; this.tags = Arrays.asList(tags); } public int getAge() { return age; } public void setAge(int age) { this.age = age; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List<String> getTags() { return tags; } public void setTags(List<String> tags) { this.tags = tags; } } }
感謝各位的閱讀,以上就是“如何驗證后臺參數”的內容了,經過本文的學習后,相信大家對如何驗證后臺參數這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。