异常:No validator could be found for constraint '.....' validating type 'java.lang.Integer'.

 异常信息如下:

No validator could be found for constraint 'org.hibernate.validator.constraints.Length' validating type 'java.lang.Integer'. Check configuration for 'xxxxxx'

错误原因字面翻译是:约束'org.hibernate.validator.constraints.Length'验证类型'java.lang.Integer'找不到验证器。 检查“ XXXXXX”的配置。也就是 在类中使用的校验注解所支持的数据类型与实体中字段的类型不符合

例如:

        private Integer status;	
        private String strdemo;

        @NotEmpty(message="状态:不能为空")
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
	
	@Length(message="长度必须介于 0 和 255 之间")
	public String getStrdemo() {
		return strdemo;
	}

	public void setStrdemo(String strdemo) {
		this.strdemo= strdemo;
	}

上面代码中在Integer  status 的字段上使用@NotEmpty,@NotEmpty支持的是字符串类型字段,这样子使用肯定是会报错的。

解决方法:换个校验注解- 将Integer类型的字段上使用的@NotEmpty换成@NotNull,或者不使用校验注解

        private Integer status;	
        private String strdemo;

        @NotNull(message="状态:不能为空")
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}
	
	@Length(message="长度必须介于 0 和 255 之间")
	public String getStrdemo() {
		return strdemo;
	}

	public void setStrdemo(String strdemo) {
		this.strdemo= strdemo;
	}

        private Integer status;	
       
	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值