真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何理解表單校驗(yàn)的技術(shù)落地

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

成都創(chuàng)新互聯(lián)公司堅(jiān)持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時(shí)代的雙柏網(wǎng)站設(shè)計(jì)、移動(dòng)媒體設(shè)計(jì)的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!

一 : 概述

  • 在進(jìn)行表單提交時(shí),一般會(huì)對參數(shù)進(jìn)行校驗(yàn),及時(shí)返回給用戶進(jìn)行提示,使用戶能夠正確輸入

  • 我們采用 Validator + BindResult

二 : 校驗(yàn)規(guī)則

  • Validator 可以非常方便的制定校驗(yàn)規(guī)則,并自動(dòng)幫你完成校驗(yàn)。

(一) 添加依賴

  • pom.xml

    
        org.springframework.boot
        spring-boot-starter-validation
    

(二) 注解說明

  • 基本類型的包裝類

    • @Null: 限制必須為 null , 任何非基本數(shù)據(jù)類型都可以校驗(yàn)

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

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

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

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

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

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

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

  • 日期類型

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

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

  • 字符串

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

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

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

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

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

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

三 : 修改實(shí)體類

  • 首先在入?yún)⒗镄枰r?yàn)的字段加上注解,每個(gè)注解對應(yīng)不同的校驗(yàn)規(guī)則,并可制定校驗(yàn)失敗后的信息:

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

四 : 接受并校驗(yàn)

  • 只需要在 controller 中需要校驗(yàn)的接口上添加 @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());
        }
    
    }

到此,關(guān)于“如何理解表單校驗(yàn)的技術(shù)落地”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!


當(dāng)前名稱:如何理解表單校驗(yàn)的技術(shù)落地
URL分享:http://weahome.cn/article/ghddhi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部