spring boot中表單驗證的使用


一、前言

為啥子要搞這個表單驗證呢?答案簡單而現實,舉個栗子,你辛辛苦苦的寫了一個錄入個人信息的功能,比如年齡這個位置,用戶就沒看到一下子寫了個性別男,一提交,直接報錯了,是不是很尷尬呢,

作為一個測試的同學,我很想說的是,真的是用戶的行為是深不可測的,所以還是加吧。

二、模擬場景

記得我還是在上學那會,未滿十八歲時不允許去網吧上網的,直到上大學,得用身份證,才讓去,無奈呀,寢室的網太卡了~~~~~

那么現在我們就模擬年齡為18歲以上的同學,才能去網吧上網。下面我們將結合實例來說明表單的驗證使用。

1、修改新增學生接口

將傳字段值,改為傳Student對象,示例代碼如下:

/**
     * 新增一個學生
     *
     * @return
     */
    @PostMapping("/studentAdd")
    public Student sudentAdd(@Valid Student student, BindingResult bindingResult) {
        if(bindingResult.hasFieldErrors()){
            //輸出錯誤信息
            System.out.println(bindingResult.getFieldError().getDefaultMessage());
            return null;
        }
        student.setName(student.getName());
        student.setAge(student.getAge());
        student.setSex(student.getSex());
        student.setEmail(student.getEmail());
        //保存和更新都用該方法
        return studentResponstory.save(student);
    }

2、在實體對象上添加限制

使用@MIN來限制輸入最小值,具體示例代碼如下:

package com.rongrong.springboot.demo.domain;


import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.validation.constraints.Min;

/**
 * @author rongrong
 * @version 1.0
 * @description:
 * @date 2019/12/30 21:24
 */
@Entity
@Data
public class Student {

    //主鍵ID
    @Id
    //自增型
    @GeneratedValue
    private Integer id;
    private String name;
    @Min(value = 18,message = "未滿18歲,還沒身份證,不能到網吧上網!")
    private Integer age;
    private String sex;
    private String email;
    public Student() {
    }
}

3、啟動服務

調用接口,增加一個大於18歲的學生,結果如下:

 

 再來修改,修改年齡為2歲,再來調用接口,postman返回空,結果如下:

 

 我們再來看下控制台是否有提示:

 

 

到此,關於表單的驗證,介紹完畢,有興趣的同學可以自行嘗試。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM