@Pattern、@NotNUll、@Length等校验注解的使用

这篇具有很好参考价值的文章主要介绍了@Pattern、@NotNUll、@Length等校验注解的使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

package com.jhsec.iam.core.modules.excel.service;

import org.hibernate.validator.constraints.Length;

import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import javax.validation.constraints.NotNull;
import java.util.Set;

/**
 * @author 16903
 * @date 2023-07-30 22:06
 */
public class Main {
    public static void main(String[] args) {
        // 创建验证器工厂
        ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
        // 获取验证器实例
        Validator validator = factory.getValidator();

        // 创建待验证的对象
        Object obj = new MyObject(null);

        // 执行验证
        Set<ConstraintViolation<Object>> validate = validator.validate(obj);

        // 处理验证结果
        if (validate.isEmpty()) {
            System.out.println("对象验证通过");
        } else {
            System.out.println("对象验证不通过,错误信息如下:");
            for (ConstraintViolation<Object> violation : validate) {
                System.out.println(violation.getPropertyPath() + ": " + violation.getMessage());
            }
        }
    }
}

class MyObject {
    @NotNull(message = "属性不能为空")
    @Length(max = 1,message = "长度超过1了")
    @Pattern(regexp = "^\\s*|[0-9A-Za-z]*$", message = "编号为数字和字母组合")
    private String property;

    public MyObject(String property) {
        this.property = property;
    }

    public String getProperty() {
        return property;
    }

    public void setProperty(String property) {
        this.property = property;
    }
}

@NotNull注解来标记MyObject类的property属性不能为空。通过Validation.buildDefaultValidatorFactory()创建验证器工厂,然后使用factory.getValidator()获取验证器实例。然后,我们创建了一个MyObject实例,并将其传递给validator.validate()方法进行验证。验证结果存储在Set<ConstraintViolation<Object>>中,我们可以根据需要进行处理。

以上代码将根据MyObject定义的约束进行验证,并打印出验证结果。如果验证通过,将会输出"对象验证通过",否则将输出相应的错误信息。请根据实际需求进行相应的修改。文章来源地址https://www.toymoban.com/news/detail-619047.html

到了这里,关于@Pattern、@NotNUll、@Length等校验注解的使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • @NotEmpty、@NotBlank、@NotNull三种注解的区别

    @NotNull :用在基本数据类型的非空校验,不能为null,但可以为empty。 而且被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制 @NotEmpty :用在集合类或数组上,不能为空,但长度必须大于0 @NotBlank :只能用在String类型上的非空校验,不能为空,而且调用trim()后

    2024年02月16日
    浏览(33)
  • Java 4种校验注解(值校验、范围校验、长度校验、格式校验)

    1 值校验 1.1 @NotNull注解 被注解的元素必须不为空,一般 用于数值类型的参数校验 @NotNull(message = \\\"用户编号不能为空\\\") private Integer userId; 1.2 @NotBlank注解 验证注解的元素值不为空(不为null、去除首位空格后长度为0),并且类型为String。 @NotBlank(message = \\\"用户名称不能为空\\\") pr

    2024年02月16日
    浏览(42)
  • java 自定义xss校验注解实现

    自定义一个注解@Xss。名字随意 validator校验类:XssValidator。这个校验类要和上面的@Xss注解上的 @Constraint(validatedBy = { XssValidator.class })对应 具体使用在某个字段上加上注解;形如: 然后在控制层中增加@Validated注解校验就可以了  以上代码实现后。会自动针对某些增加了@Xss字符

    2024年02月14日
    浏览(46)
  • Java自定义校验注解实现List、set集合字段唯一性校验

    在开发过程中,前端给后端传递集合,并且需要保证集合的实体类中的某些字段必须是惟一的,不能重复。 传递的集合: 集合对应的实体类: 如果我们要保证传递的name或者card必须是唯一的,不能重复,应该如何实现呢,此时可以通过自定义注解的方式实现。 @Documented @Do

    2024年02月14日
    浏览(40)
  • 【Java】在实体类中常用的注解校验

    注解 说明 @Null 只能为null @NotNull(message = “id不能为空”) 必须不为null,可以为空字符串 @Min(value) 必须为一个不小于指定值的数字 @Max(value) 必须为一个不大于指定值的数字 @NotBlank(message = “姓名不能为空”) 验证注解的元素值不为空(不为null、去除首位空格后长度为0),不同

    2024年02月04日
    浏览(87)
  • spring-boot 请求参数校验:注解 @Validated 的使用、手动校验、自定义校验

    spring-boot中可以用@validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。 spring-boot已经引入了基础包,所以直接使用就可以。 在属性上添加校验注解: 在Controller上添加 @Validated 注解 校验未通过时,可能看到: 在 @Validated 后面紧跟着追加BindingResult,

    2023年04月16日
    浏览(106)
  • hibernate vilidator主要使用注解的方式对bean进行校验

    然后在controller中可以这样调用,加上@Validated注解即可。 如果校验失败,默认会返回Spring boot 框架的出错信息。是一个json串,里面有详细的出错描述。 二 使用gruops 属性来实现区别不同的校验需求 在上面的例子中,如果Student bean想要用于两个不同的请求中,每个请求有不同

    2024年02月11日
    浏览(54)
  • springboot使用@Valid 和 @Validated 注解校验详解以及编写一个自定义全局异常类

    全局异常处理类 验证: ============================================== 导入所需要的包: 如果你是 springboot 项目,那么可以不用引入了,已经引入了,他就存在于最核心的 web 开发包里面。 如果你不是 springboot 项目,那么引入下面依赖即可: 新建三个实体类 实现一: 使用@Valid注解修

    2024年02月10日
    浏览(41)
  • 【优雅的参数验证@Validated】@Validated参数校验的使用及注解详解——你还在用if做条件验证?

    请先看看下面代码:(简单举个例子,代码并不规范) 以上代码主要是为了对用户user实体进行条件验证。 但是那么多的if, 写得纯纯得小白一个,也使得代码显得臃肿不美观不优雅! 接下来,让我们学习使用优雅的参数验证@Validated! @Valid和@Validated是Spring Validation框架提供

    2024年02月02日
    浏览(43)
  • Spring中@NotEmpty、@NotBlank、@NotNull 区别和使用

      @NotNull 适用于基本数据类型(Integer,Long,Double等等),当 @NotNull 注解被使用在 String 类型的数据上,则表示该数据不能为 Null(但是可以为 Empty) 注:被其标注的字段可以使用 @size、@Max、@Min 对字段数值进行大小的控制 @NotBlank 适用于 String 类型的数据上,加了 @NotBlank 注解的

    2024年02月05日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包