如何在Java后端对输入进行简单验证? - tejanshrana


用户在输入一些员工详细信息,例如名字,姓氏,年龄和部门,然后提交表格。然后将此表单发送到后端/服务器端,以将其存储在数据库中。所有字段都是必填字段,因此如果用户没有填写某些详细信息,将不允许他们提交表单。
让我们看看如何实现它。为了实现此目的,我们将构建一个服务,使用Springboot和Maven从数据库中添加,更新和删除员工。为了进行验证,我们将使用hibernate-validator的实现JSR380。JSR 380是用于Java bean 验证的Java API规范 。
Github存储库中找到本文中使用的源代码 。
添加依赖:

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-validation</artifactId>
            <version>2.4.4</version>
</dependency>

spring-boot-starter-validation是由hibernate-validator以及jakarta.el(来自Glassfish的包含表达语言的实现)组成的,能够在我们的验证邮件使用表达式。
public class Employee {

    @NotBlank
    private String firstName;

    @NotBlank
    private String lastName;

    @Past
    private LocalDate dateOfBirth;

    @NotBlank
    private String department;

}

在String字段中添加了一堆@NotBlank。这将确保如果用户在请求中为这些字符串发送一个空白值,则他们将收到一条错误消息,指出不允许他们发送空白值。我还为出生日期添加了注释@Past,因为我们知道出生日期应该始终是过去的日期。如果用户为此输入发送当前日期或将来的日期,则他们将收到一条错误消息,指出仅允许他们从该字段发送过去的日期。
更复杂详细点击标题