这篇文章主要讲解了“如何验证后台参数”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何验证后台参数”吧!
站在用户的角度思考问题,与客户深入沟通,找到盐田网站设计与盐田网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都做网站、网站制作、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟主机、企业邮箱。业务覆盖盐田地区。
以前在处理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插件做,需要引入依赖:
org.hibernate hibernate-validator 6.0.14.Final org.glassfish javax.el 3.0.0
全部代码如下:
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(); Listtags = 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 > 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 getTags() { return tags; } public void setTags(List tags) { this.tags = tags; } } }
感谢各位的阅读,以上就是“如何验证后台参数”的内容了,经过本文的学习后,相信大家对如何验证后台参数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是创新互联,小编将为大家推送更多相关知识点的文章,欢迎关注!