validation-api 注解用法
`javax.validation` 包中的注解主要用于验证(validation)Java Bean 中的字段值,以确保它们满足特定的条件或约束。以下是一些常用的 `javax.validation` 注解及其用法:
validation框架
1. @NotNull: 用于标记字段不能为空。
  ```java
  @NotNull
  private String name;
  ```
2. @NotEmpty: 用于标记字符串字段不能为空且长度必须大于0。
  ```java
  @NotEmpty
  private String description;
  ```
3. @Size: 用于指定字段值的大小范围。
  ```java
  @Size(min = 2, max = 50)
  private String username;
  ```
4. @Min 和 @Max: 用于指定数字字段的最小和最大值。
  ```java
  @Min(18)
  @Max(99)
  private int age;
  ```
5. @Pattern: 用于指定字段值必须符合指定的正则表达式。
  ```java
  @Pattern(regexp = "[a-zA-Z0-9]+")
  private String code;
  ```
6. @Email: 用于验证地址的格式。
  ```java
  @Email
  private String email;
  ```
7. @NotBlank: 用于标记字符串字段不能为空且必须至少包含一个非空格字符。
  ```java
  @NotBlank
  private String title;
  ```
8. @AssertTrue 和 @AssertFalse: 用于确保字段值为 `true` 或 `false`。
  ```java
  @AssertTrue
  private boolean agreedToTerms;
  @AssertFalse
  private boolean isDeleted;
  ```
9. @DecimalMin 和 @DecimalMax: 用于指定十进制数字段的最小和最大值。
  ```java
  @DecimalMin("0.00")
  @DecimalMax("100.00")
  private BigDecimal price;
  ```
10. @Past 和 @Future: 用于确保日期字段的值在过去或将来。
    ```java
    @Past
    private Date startDate;
    @Future
    private Date endDate;
    ```
这些注解可以在类的字段上使用,也可以用于方法参数、返回值和方法级别的验证。在使用时,通常需要将验证逻辑集成到应用程序中,例如使用 Spring 框架的 `@Valid` 注解。例如,在 Spring MVC 控制器方法中,可以使用 `@Valid` 注解来触发验证:
```java
@PostMapping("/save")
public String saveUser(@Valid @RequestBody User user, BindingResult result) {
    if (result.hasErrors()) {
        // 处理验证错误
        return "error";
    }
    // 保存用户
    userService.save(user);
    return "success";
}
```
这样,当请求中的 `User` 对象验证失败时,Spring 将错误信息添加到 `BindingResult` 中,然后可以在控制器中进行处理。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。