No validator could be found for constraint ‘javax.validation.constraints.NotBlank‘ validating type ‘

博客主要讲述了使用@NotBlank遇到的问题及解决办法。介绍了@NotNull,不能为null但可为empty;@NotEmpty,不能为null且长度须大于0,只能用于字符串;@NotBlank,只能作用于String,不能为null,trim后长度须大于0。

使用@NotBlank遇到的问题

解决: 

* @NotNull
 * 不能为null,但可以为empty (""," "," ")
 * 2.@NotEmpty
 * 不能为null,而且长度必须大于0 (" "," ") 只能使用在字符串上
 * 3.@NotBlank
 * 只能作用在String上,不能为null,而且调用trim()后,长度必须大于0 ("test") 即:必须有实际字符

该错误提示表明在对 `java.util.Date` 类型的 `startDate` 字段使用 `javax.validation.constraints.NotEmpty` 约束时,找不到合适的验证器。`NotEmpty` 约束通常用于字符串、集合、映射等类型,而不适用于 `java.util.Date` 类型。 要解决此问题,可以根据需求选择合适的日期验证注解。如果需要验证日期不为空,可以使用 `@NotNull` 注解。示例代码如下: ```java import javax.validation.constraints.NotNull; import java.util.Date; public class YourClass { @NotNull(message = "startDate 不能为 null") private Date startDate; // 构造函数、getter 和 setter 方法 public YourClass() { } public YourClass(Date startDate) { this.startDate = startDate; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } } ``` 如果还需要对日期进行其他验证,例如验证日期是否在某个范围内,可以结合其他注解使用。例如,使用 `@Past` 或 `@Future` 注解: ```java import javax.validation.constraints.Future; import javax.validation.constraints.NotNull; import java.util.Date; public class YourClass { @NotNull(message = "startDate 不能为 null") @Future(message = "startDate 必须是未来的日期") private Date startDate; // 构造函数、getter 和 setter 方法 public YourClass() { } public YourClass(Date startDate) { this.startDate = startDate; } public Date getStartDate() { return startDate; } public void setStartDate(Date startDate) { this.startDate = startDate; } } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值