Java资深小白,不足之处,或者有任何错误欢迎指出。	--蓝紫

程序编译通过,执行报错:
No validator could be found for constraint ‘javax.validation.constraints.NotEmpty’ validating type ‘java.lang.Long’. Check configuration for ‘id’"。创建的类对象如下:
在这里插入图片描述

这里的id字段数据类型为Long,校验注解使用@NotEmpty报错了,是因为@NotEmpty一般作用在集合类或者数组类上,而针对数值类型校验一般使用@NotNull,更换为@NotNull判非空之后就不报错了。

非空校验注解 @NotNull、@NotEmpty、@NotBlank的区别和运用

  • @NotNull 常用在数据类型为Long,Integer的基础数据类型上,可以配合@Size、@Max、@Min对数值进行大小的控制。
 	@ApiModelProperty(value = "编号")
    @NotNull(message = "编号不能为空")
    @JsonFormat(shape = Shape.STRING)
    private Long id;
    @ApiModelProperty(value = "价格")
    @NotNull(message = "价格不能为空")
    @Min(value = 100, message = "价格不能低于100")
    @Max(value = 5000, message = "价格不能超过5000")
    private Integer price;
    @ApiModelProperty(value = "数量")
    @NotNull(message = "数量不能为空")
    @Size(min = 10, max = 50, message = "数量必须不低于10不超过50")
    private Integer num;
  • @NotEmpty 常用在集合类和数组类型上,也可以配合@Size进行大小的控制。
	@ApiModelProperty(value = "材料保存列表", required = true)
    @NotEmpty(message = "存货清单列表不能为空")
    @Size(min = 1, message = "至少需要一条数据")
    private List<MaterialAcceptanceItemsSaveVo> itemsSaveList;
  • @NotBlank 只用于String数据类型上,可以和@Len配合使用限制字符长度。
	@ApiModelProperty(value = "供应商", required = true)
    @NotBlank(message = "供应商不能为空")
    @Len(min = 1, max = 500)
    private String provider;
    @ApiModelProperty(value = "发票号", required = true)
    @Len(min = 0, max = 250)
    private String invoiceNo;
  • Long数据类型防止精度丢失,添加注解:@JsonFormat(shape = JsonFormat.Shape.STRING)
  • BigDecimal数据类型的限制注解使用:@DecimalMin、@DecimalMax、@Digits
 	@ApiModelProperty(value = "报账总金额")
    @DecimalMin(value = "0", inclusive = false, message = "报账总金额必须大于0")
    @Digits(integer = 10, fraction = 2, message = "报账总金额 最大长度:10,允许精度:2")
    private BigDecimal financeMoney;
                    No validator could be found for constraint ‘javax.validation.constraints.NotEmpty‘...报错解决
                    No validator could be found for constraint 'javax.validation.constraints.NotEmpty' validating type 'java.lang.Long'. Check configuration for 'id'"报错解决。非空校验注解@NotNull、@NotEmpty、@NotBlank之间的区别和实际运用
				
报错原因:枚举类型用了@NotBlank校验 解决方法:用@NotNull @NotNull 和 @NotEmpty 和@NotBlank 区别@NotEmpty 用在集合类上面 @NotBlank 用在String上面 @NotNull 用在基本类型上
【错误解决】No validator could be found for constraint ‘jakarta.validation.constraints.NotBlank‘
No validator could be found for constraintjavax.validation.constraints.NotBlank’ validating type ‘java.lang.Integer’. Check configuration for ‘state’ Not 注解 @NotNull 不能为 null,但可以为 empty,一般用在Integer 类型的基本数据类型的非空校验上,而且被其标注的字段可以使用 @size、@Max、@Min 对字段数
Validation异常:No validator could be found for constraint '.....' validating type 'java.lang.Integer'.
今天升级服务,没有改任何依赖,发现竟然启动失败,报以下错误: 2017-02-08 15:16:25.357 main ERROR [org.springframework.web.context.ContextLoader:307] - Context initialization failed org.springframework.beans.factory.BeanCreationEx
这个错误信息表示:在尝试对类型为 java.math.BigDecimal 的值进行验证时,没有找到符合 javax.validation.constraints.NotBlank 约束条件的验证器。请检查配置中 maxPosition 的设置。 NotBlank是hibernate-validator提供的注解,主要用于对字符串的非空校验,但是BigDecimal不是字符串类型,所以无法使用No...
1/????????‍????起因 No validator could be found for constraintjavax.validation.constraints.NotBlank’ validating type ’ 2/????‍????背景介绍 我们一般写接口的时候需要做参数校验,特别是一些必填的字段,如果不填,我们的逻辑和业务根本无法进行下去,那么免不了要做参数校验,当前Java开发这么多年已经完善出很多框架帮我们实现这样的自动校验参数的功能了。
`No validator could be found for constraintjavax.validation.constraints.NotEmpty’ 问题的解决 错误的全部提示 .m.m.a.ExceptionHandlerExceptionResolver : Resolved [javax.validation.UnexpectedTypeException: HV00003...
No validator could be found for constraint ‘javax.validation.constraints.NotEmpty‘...报错解决 20728 解决ERROR:Local variable count defined in an enclosing scope must be final or effectively final 10375