最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springboot表單提交之validator校驗(yàn)

 更新時(shí)間:2021年05月30日 10:58:06   作者:程序逸  
在前臺(tái)表單驗(yàn)證的時(shí)候,通常會(huì)校驗(yàn)一些數(shù)據(jù)的可行性,比如是否為空,長(zhǎng)度,身份證,郵箱等等,這篇文章主要給大家介紹了關(guān)于springboot表單提交之validator校驗(yàn)的相關(guān)資料,需要的朋友可以參考下

前言

表單提交是最常見的數(shù)據(jù)提交方式,我們經(jīng)常會(huì)填寫表單信息,比如用戶名,身份證,手機(jī)號(hào)等等,因此就會(huì)產(chǎn)生身份證是否合法,用戶名是否為空,雖然我們可以直接在前臺(tái)使用js就進(jìn)行格式的校驗(yàn),但如果使用postman工具直接發(fā)請(qǐng)求呢?使用我們后端也需要進(jìn)行對(duì)數(shù)據(jù)的校驗(yàn),這樣極大的確保數(shù)據(jù)的安全性和合法性。

1.新建一個(gè)Springboot項(xiàng)目,并且添加web依賴。下面是本項(xiàng)目的全部依賴

<dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate.validator/hibernate-validator -->
        <dependency>
            <groupId>org.hibernate.validator</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>6.1.5.Final</version>
        </dependency>


        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.18.12</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

在這里插入圖片描述

2.為了方便演示,我引入了Lombok,然后我們新建一個(gè)User類來模擬用戶注冊(cè)時(shí)提交的表單信息。

這里涉及到幾個(gè)注解:

@NotEmpty(message=“用戶名不能為空”)
@Length(min=6,max = 12,message=“用戶名長(zhǎng)度必須位于6到12之間”)
@Email(message=“請(qǐng)輸入正確的郵箱”)
@Pattern(regexp = “正則表達(dá)式”, message = “身份證格式錯(cuò)誤”)

User.java的代碼:

package com.ctvit.validatordemo.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.hibernate.validator.constraints.Length;

import javax.validation.constraints.Email;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 用戶名,密碼,郵箱,身份證
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class User implements Serializable {
    @NotEmpty(message="用戶名不能為空")
    @Length(min=6,max = 12,message="用戶名長(zhǎng)度必須位于6到12之間")
    private String userName;


    @NotEmpty(message="密碼不能為空")
    @Length(min=6,message="密碼長(zhǎng)度不能小于6位")
    private String passWord;

    @Email(message="請(qǐng)輸入正確的郵箱")
    private String email;

    @Pattern(regexp = "^(\\d{18,18}|\\d{15,15}|(\\d{17,17}[x|X]))$", message = "身份證格式錯(cuò)誤")
    private String idCard;

}

3.然后書寫一個(gè)簡(jiǎn)單的控制器來進(jìn)行模擬訪問:

package com.ctvit.validatordemo.controller;

import com.ctvit.validatordemo.pojo.User;
import org.springframework.validation.BindingResult;
import org.springframework.validation.ObjectError;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.validation.Valid;
import java.util.List;

@RestController
public class UserController {

    @PostMapping("/Register")
    public String Register(@Valid User user, BindingResult bindingResult){//一個(gè)BindingResult對(duì)應(yīng)一個(gè)@Valid注解的參數(shù),用來表示校驗(yàn)消息
        StringBuffer stringBuffer = new StringBuffer();//使用StringBuffer拼接錯(cuò)誤信息,比如用戶名為空,長(zhǎng)度等
        if(bindingResult.hasErrors()){//判讀是否攜帶錯(cuò)誤信息
            List<ObjectError> list =bindingResult.getAllErrors();//獲取所有錯(cuò)誤信息對(duì)象
            for (ObjectError objectError:list) {//遍歷對(duì)象,獲取錯(cuò)誤的具體信息
                //將所有信息進(jìn)行拼接
                stringBuffer.append(objectError.getDefaultMessage());
                stringBuffer.append("---");
            }
        }
        return stringBuffer!=null?stringBuffer.toString():"";//將錯(cuò)誤信息返回
    }
}

4.這里涉及到一個(gè)接口:BindingResult。

方法名 作用
hasErrors() 判斷當(dāng)前參數(shù)是否符合
getAllErrors() 獲取錯(cuò)誤信息對(duì)象
getDefaultMessage() 獲取錯(cuò)誤信息

在這里插入圖片描述
在這里插入圖片描述

輸入一半正確的,一般錯(cuò)誤的:

在這里插入圖片描述

都正確的數(shù)據(jù):

在這里插入圖片描述

總結(jié)

到此這篇關(guān)于springboot表單提交之validator校驗(yàn)的文章就介紹到這了,更多相關(guān)springboot validator校驗(yàn)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

驻马店市| 子洲县| 龙山县| 年辖:市辖区| 容城县| 富源县| 泾川县| 佳木斯市| 饶阳县| 灯塔市| 于田县| 苏尼特右旗| 揭阳市| 凭祥市| 莆田市| 章丘市| 万源市| 博湖县| 嵊州市| 巴东县| 翁源县| 延川县| 罗田县| 大关县| 定兴县| 贵定县| 石门县| 维西| 昌邑市| 科技| 台州市| 通州区| 邹平县| 尚志市| 阳山县| 尼勒克县| 上林县| 阿拉善左旗| 麦盖提县| 巨野县| 修文县|