Java validation 怎么设置校验指定字段
时间: 2024-01-22 21:02:33 浏览: 94
可以使用 Java Bean Validation API (JSR 380) 来为特定字段设置校验规则。以下是一些示例代码:
假设我们有一个 User 类,其中包含 name 和 age 两个字段。我们想要在校验时只关注 name 字段。
首先,我们需要在 name 字段上添加注解来指定校验规则。例如,我们可以使用 @NotBlank 注解来确保 name 字段不为空:
```
public class User {
@NotBlank(message = "Name cannot be blank")
private String name;
private int age;
// getters and setters
}
```
然后,我们可以在校验时只校验 name 字段,而不是整个 User 对象。可以使用 Validator 实例的 validateProperty 方法来完成此操作:
```
Validator validator = Validation.buildDefaultValidatorFactory().getValidator();
User user = new User();
user.setName("");
user.setAge(20);
Set<ConstraintViolation<User>> violations = validator.validateProperty(user, "name");
```
在此示例中,我们仅校验了 name 字段,并将结果存储在 ConstraintViolation 对象的集合中。如果 name 字段为空,violations 集合将包含一个 ConstraintViolation 对象,该对象包含有关校验失败的信息。
希望这可以帮助你实现校验指定字段。
阅读全文