91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何理解表單校驗的技術落地

發布時間:2021-10-13 11:35:26 來源:億速云 閱讀:94 作者:iii 欄目:編程語言

這篇文章主要介紹“如何理解表單校驗的技術落地”,在日常操作中,相信很多人在如何理解表單校驗的技術落地問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解表單校驗的技術落地”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

一 : 概述

  • 在進行表單提交時,一般會對參數進行校驗,及時返回給用戶進行提示,使用戶能夠正確輸入

  • 我們采用 Validator + BindResult

二 : 校驗規則

  • Validator 可以非常方便的制定校驗規則,并自動幫你完成校驗。

(一) 添加依賴

  • pom.xml

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


(二) 注解說明

  • 基本類型的包裝類

    • @Null : 限制必須為 null , 任何非基本數據類型都可以校驗

    • @NotNull : 限制必須不為 null , 基本類型的包裝類可以使用, 但字符串 "", 和 " " 都會通過

    • @Max(value) : 限制必須為一個不大于指定值的數字

    • @Min(value) : 限制必須為一個不小于指定值的數字

    • @DecimalMax(value) : 限制必須為一個不大于指定值的數字

    • @DecimalMin(value) : 限制必須為一個不小于指定值的數字

    • @Digits(integer,fraction) : 限制必須為一個小數,且整數部分的位數不能超過integer,小數部分的位數不能超過fraction

    • @Range(min=,max=,message=) : 被注釋的元素必須在合適的范圍內

  • 日期類型

    • @Future : 限制必須是一個將來的日期

    • @Past : 限制必須是一個過去的日期

  • 字符串

    • @Pattern(value) : 限制必須符合指定的正則表達式

    • @Size(max,min) : 限制字符長度必須在min到max之間, 也可以用于校驗集合

    • @NotBlank(message =) : 驗證字符串非null,且長度必須大于0 很適合String 參數驗證

    • @Email : 被注釋的元素必須是電子郵箱地址

    • @Length(min=,max=) : 被注釋的字符串的大小必須在指定的范圍內

    • @NotEmpty : 被注釋的字符串的必須非空

三 : 修改實體類

  • 首先在入參里需要校驗的字段加上注解,每個注解對應不同的校驗規則,并可制定校驗失敗后的信息:

    @Data
    public class EmployeeForm {
    
        private Integer id;
        @NotEmpty(message = "員工姓名不能為空")
        private String name; //姓名
    
        @NotEmpty(message = "員工性別不能為空")
        private String sex; //性別
    
        @Past(message = "員工生日必須早于當天")
        private Date birthday; //生日
        @NotEmpty(message = "員工電話不能為空")
        private String telephone; //電話
    
        @NotEmpty(message = "用戶名不能為空")
        private String username; //用戶名
    
        @NotNull(message = "員工所屬部門不能為空")
        private Integer deptFk; //部門id
    
        private String remark; //備注
    }


四 : 接受并校驗

  • 只需要在 controller 中需要校驗的接口上添加 @Validated 即可

    @PostMapping
    public R save(@RequestBody @Validated EmployeeForm employeeForm){
        employeeService.save(employeeForm);
        return R.ok();
    }


五 : 定義異常處理

  • 編寫全局異常處理器

    @Slf4j
    @RestControllerAdvice
    public class GlobalExceptionHandler {
    
        @ExceptionHandler(BindException.class)
        public R error(BindException e){
            e.printStackTrace();
            return R.error().message(e.getBindingResult().getAllErrors().get(0).getDefaultMessage());
        }
    
    }

到此,關于“如何理解表單校驗的技術落地”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

桐梓县| 枞阳县| 曲水县| 万年县| 遂宁市| 贺州市| 简阳市| 井研县| 海林市| 邢台市| 射洪县| 逊克县| 德格县| 北票市| 黔西县| 新晃| 江门市| 南和县| 淄博市| 崇信县| 广昌县| 开阳县| 深水埗区| 太仆寺旗| 临颍县| 建瓯市| 纳雍县| 阿图什市| 涞水县| 页游| 浑源县| 阳高县| 南华县| 蕉岭县| 阜南县| 绥棱县| 喀什市| 大余县| 萨迦县| 九江县| 日土县|