admin管理员组文章数量:1568358
类代码如下(省去了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;
}
@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;
本文标签: ValidationExceptionjavaxValidationisValidCall
版权声明:本文标题:javax.validation.ValidationException: HV000028: Unexpected exception during isValid call.出错怎么办 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dianzi/1726226156a1061549.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论