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小时内删除。
发表评论