当前位置: 首页 > 知识库问答 >
问题:

何时使用验证?

笪栋
2023-03-14

我只是想为用户类编写一个测试来检查验证。我想知道没有任何东西被验证为带注释的。

@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("", "");

我假设了一些例外,但没有。

  • 那么有没有办法测试这些注释呢
  • 什么时候启动这些验证

共有1个答案

舒宏富
2023-03-14

那么有没有办法测试这些注释呢?

是的,您需要一个javax。验证。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());

这些验证什么时候启动?

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

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

 类似资料:
  • 我的应用程序是完全配置的带有thymeleaf模板引擎的spring boot应用程序。I18n也进行了配置,以便我可以在模板中使用它。下面是我使用的配置: 虽然手动验证字段I18n也可以正常工作: 但是一旦我想实现一些自定义对象并使用字段-不涉及I18n,我就会收到纯代码作为响应而不是消息。即。 我尝试了这个解决方案——没有结果。这也是同样的结果。 我错过了什么?

  • 但是,当我执行以下测试时,不会引发验证异常: 当保存一个已经持久化的对象时,我如何使验证器触发器?最好是通过Java配置。 我的验证依赖项:

  • 问题内容: 我正在尝试使用Jackson JSON接受一个字符串,并确定它是否为有效JSON。谁能建议要使用的代码示例(Java)? 问题答案: 不知道您的用例是什么,但是应该这样做:

  • 问题内容: 我是从记录用户输入使用。我需要验证输入内容,例如: 必须为非负数 它必须是字母 …等等 最好的方法是什么? 问题答案: 示例1:验证正整数 这是一个用于int从输入中验证肯定的简单示例。 结果: 请注意,与更详细组合相比,使用起来要容易得多。通过合同,一个 保证,如果它,然后将安静地给你int,并不会引发任何。 示例2:同一令牌上有多个 请注意,上面的代码段包含一个语句,以使Scann

  • 本文向大家介绍如何使用jQuery验证表单?,包括了如何使用jQuery验证表单?的使用技巧和注意事项,需要的朋友参考一下 首先,您必须制作一个类似html的表单。 现在使用jQuery验证插件以更简单的方式验证表单的数据。 首先,在文件中添加jQuery库。 然后使用简单语法定义规则。 定义错误消息。 现在终于提交表格了。

  • 我正在尝试使用Vue和Laravel构建一个应用程序。我目前在Laravel中使用passport身份验证进行用户身份验证。但是,当我尝试使用axio从vue组件发出post请求时,即使我当前已登录,也会获得401未经授权的权限。 下面是一些示例代码: 1.从vue组件获取请求 2.拉维路 3.与上述get请求关联的日历控制器 我花了好几个小时研究这个问题,但我发现的一切都不起作用。因此,任何帮助