添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
热情的煎鸡蛋  ·  使用 SignalR 1.x ...·  1 月前    · 
豪气的沙滩裤  ·  如果读取 Location ...·  9 月前    · 
旅行中的柳树  ·  Windows 10 64位 ...·  1 年前    · 

类代码如下(省去了get set方法):

package com.example.hibernatetutorial.chapter3.chapter3_3.chapter3_3_2;
import com.sun.istack.NotNull;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.validation.constraints.Future;
import javax.validation.constraints.Size;
import java.util.Date;
@Entity
public class Item3_3_2 {
    private Long id;
    @NotNull
    @Size(
            min = 2,
            max = 255,
            message = "Name is required, maximum 255 characters"
    protected String name;
    @Future
    protected Date auctionEnd;
    public void setId(Long id) {
        this.id = id;
    public Long getId() {
        return id;

校验代码如下:

package com.example.hibernatetutorial.chapter3.chapter3_3.chapter3_3_2;
import org.hibernate.validator.messageinterpolation.ParameterMessageInterpolator;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import java.time.Instant;
import java.time.temporal.ChronoUnit;
import java.sql.Date;
import static org.assertj.core.api.Assertions.assertThat;
class Item3_3_2Test {
    private static Validator VALIDATOR;
    @BeforeAll
    static void beforeAll() {
        VALIDATOR = Validation.byDefaultProvider()
                .configure()
                .messageInterpolator(new ParameterMessageInterpolator())
                .buildValidatorFactory()
                .getValidator();
    @Test
    void should_not_pass_validation_given_before_date() {
        var item = new Item3_3_2();
        item.setAuctionEnd(Date.valueOf("2022-01-01"));
        var violations = VALIDATOR.validate(item);
        assertThat(violations)
                .satisfiesExactly(
                        violation -> assertThat(violation)
                                .returns("must be a future date", ConstraintViolation::getMessage)

测试中我期望对auctionEnd进行校验,结果报错如下

javax.validation.ValidationException: HV000028: Unexpected exception during isValid call

检查下发现是Date导错了包,期望是:

import java.util.Date;

却导入了:

import java.sql.Date;
                    javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.出错怎么办
                    类代码如下(省去了get set方法):package com.example.hibernatetutorial.chapter3.chapter3_3.chapter3_3_2;import com.sun.istack.NotNull;import javax.persistence.Entity;import javax.persistence.Id;import javax.validation.constraints.Future;import javax.validation.
				
使用SpringData JPA时发现使用save的方法会报错:javax.validation.ValidationException: HV000183。 public interface CustomerDao extends JpaRepository<Customer,Long> ,JpaSpecificationExecutor<Customer> { test代码: @Test public void TestSave(){
java项目中写bean校验的时候太麻烦就用hibernate-validator来校验,遇到了两个问题记录一下 @Valid不生效 在springboot中配置Validator import org.hibernate.validator.HibernateValidator; import org.springframework.context.annotation.Bean; impo...
错误信息: [org.springframework.validation.beanvalidation.OptionalValidatorFactoryBean]-Failed to set up a Bean Validation provider javax.validation.ValidationException: Unable to cr...
异常描述: javax.validation.ValidationException: Unable to create a Configuration, because no Bean Validation provider could be found. Add a provider like Hibernate Validator (RI) to your classpath. at ja...
问题描述:在使用 Maven 构建项目时,出现了 cannot resolve javax.validation:validation-api:2.0.1.final 的错误提示。 问题原因:这个错误提示表示 Maven 找不到 javax.validation:validation-api:2.0.1.final 这个依赖包。可能是因为 Maven 中央仓库没有这个版本的包,或者是网络连接问题导致无法下载该依赖包。 解决方法: 1. 检查网络连接是否正常。如果网络连接不正常,可以尝试重新连接网络后再次构建项目。 2. 检查 Maven 配置文件中的镜像地址。Maven 配置文件中的镜像地址决定了 Maven 从哪里下载依赖包,如果使用的是国内的镜像地址,可能会出现找不到依赖包的情况。 3. 修改 Maven 的依赖版本或者替换依赖。尝试修改依赖版本,或者替换成其他版本的依赖,以解决找不到依赖包的问题。 4. 手动下载依赖包。如果在 Maven 中央仓库找不到对应的依赖包,可以尝试手动下载依赖包并将其添加到本地仓库中。具体步骤可以参考 Maven 官方文档。 总之,无法解决不能解决 javax.validation:validation-api:2.0.1.final的问题,应该针对具体情况采取不同的解决方法来解决问题。
javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.出错怎么办