如何在Java後端對輸入進行簡單驗證? - tejanshrana

banq發表於2021-05-12

使用者在輸入一些員工詳細資訊,例如名字,姓氏,年齡和部門,然後提交表格。然後將此表單傳送到後端/伺服器端,以將其儲存在資料庫中。所有欄位都是必填欄位,因此如果使用者沒有填寫某些詳細資訊,將不允許他們提交表單。
讓我們看看如何實現它。為了實現此目的,我們將構建一個服務,使用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,因為我們知道出生日期應該始終是過去的日期。如果使用者為此輸入傳送當前日期或將來的日期,則他們將收到一條錯誤訊息,指出僅允許他們從該欄位傳送過去的日期。
更復雜詳細點選標題
 

相關文章