gpt4 book ai didi

java - 什么时候使用验证?

转载 作者:行者123 更新时间:2023-12-01 19:56:16 25 4
gpt4 key购买 nike

我只是想为 User 类编写一个测试来检查验证。我想知道没有任何内容按照注释进行验证。

@Entity
public class User {

@Id
@NotBlank
@Size(min = 2, max = 255)
private String username;

@NotBlank
@Column(length = 60)
private String password;

public User(String username, String password) {
this.username = username.trim();
this.password = password;
}
}

现在我正在尝试这个:

User user2 = new User("admin", "");
User user3 = new User("", "test");
User user4 = new User("", "");

我假设了一些异常(exception),但什么也没有。

  • 那么有没有办法测试这些注释?
  • 这些验证何时启动?

最佳答案

So is there a way to test these annotations?

是的,您需要 javax.validation.Validator执行验证的实例:

// obtain a validator
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
Validator validator = factory.getValidator();

// do a test
Set<ConstraintViolation<User>> constraintViolations = validator.validate(user2);
Assert.assertEquals(0, constraintViolations.size());

And when are those validations fired up?

他们可能会在不同层面上被激发。

例如,Spring 可以将 Controller 层上的验证(当请求到来时)与 @javax.validation.Valid 集成起来。 。或者,您可以在将数据发送到数据库之前放置一个 validator 来引发异常。

关于java - 什么时候使用验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49651651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com