千家信息网

如何验证后台参数

发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要讲解了"如何验证后台参数",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何验证后台参数"吧!以前在处理web请求参数校验时,少不了类似下方
千家信息网最后更新 2025年01月31日如何验证后台参数

这篇文章主要讲解了"如何验证后台参数",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"如何验证后台参数"吧!

以前在处理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();        List 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> 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;        }    }}

感谢各位的阅读,以上就是"如何验证后台参数"的内容了,经过本文的学习后,相信大家对如何验证后台参数这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0