定义一个实体模型类 Student,要求有字符串类型的私有属性学生姓名:“sname”和整 型的私有属性学生年龄:“sage”。在该类中使用 Hibernate Validator 的标注类型进行表 单验证,可省略 set 和 get 方法。要求如下: (1)sname:不能为空,为空时提示信息:学生姓名必须录入。 (2)sname:长度要求在 2-6 字符之间,不符合要求时提示:学生姓名长度在 2-6 之间。 (3)sage:范围在 18-25 之间,不符合要求时提示:学生年龄范围在 18-25 之间。
时间: 2024-02-22 20:55:01 浏览: 51
下面是符合要求的代码实现:
```java
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
public class Student {
@NotBlank(message = "学生姓名必须录入")
@Size(min = 2, max = 6, message = "学生姓名长度在2-6之间")
private String sname;
@NotNull(message = "学生年龄必须录入")
@Min(value = 18, message = "学生年龄范围在18-25之间")
@Max(value = 25, message = "学生年龄范围在18-25之间")
private int sage;
}
```
在上面的代码中,我们使用了 Hibernate Validator 的标注类型来进行表单验证,其中 @NotBlank、@NotNull、@Size、@Min 和 @Max 分别表示非空、长度范围、最小值、最大值等不同的验证规则。在使用这些注解时,我们可以通过 message 属性来自定义验证失败时的提示信息。这样,在创建 Student 对象时,若出现不符合要求的情况,就会抛出 ConstraintViolationException 异常。
阅读全文