您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何理解表單校驗的技術(shù)落地”,在日常操作中,相信很多人在如何理解表單校驗的技術(shù)落地問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何理解表單校驗的技術(shù)落地”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
在進行表單提交時,一般會對參數(shù)進行校驗,及時返回給用戶進行提示,使用戶能夠正確輸入
我們采用 Validator + BindResult
Validator 可以非常方便的制定校驗規(guī)則,并自動幫你完成校驗。
pom.xml
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-validation</artifactId> </dependency>
基本類型的包裝類
@Null : 限制必須為 null , 任何非基本數(shù)據(jù)類型都可以校驗
@NotNull : 限制必須不為 null , 基本類型的包裝類可以使用, 但字符串 "", 和 " " 都會通過
@Max(value) : 限制必須為一個不大于指定值的數(shù)字
@Min(value) : 限制必須為一個不小于指定值的數(shù)字
@DecimalMax(value) : 限制必須為一個不大于指定值的數(shù)字
@DecimalMin(value) : 限制必須為一個不小于指定值的數(shù)字
@Digits(integer,fraction) : 限制必須為一個小數(shù),且整數(shù)部分的位數(shù)不能超過integer,小數(shù)部分的位數(shù)不能超過fraction
@Range(min=,max=,message=) : 被注釋的元素必須在合適的范圍內(nèi)
日期類型
@Future : 限制必須是一個將來的日期
@Past : 限制必須是一個過去的日期
字符串
@Pattern(value) : 限制必須符合指定的正則表達式
@Size(max,min) : 限制字符長度必須在min到max之間, 也可以用于校驗集合
@NotBlank(message =) : 驗證字符串非null,且長度必須大于0 很適合String 參數(shù)驗證
@Email : 被注釋的元素必須是電子郵箱地址
@Length(min=,max=) : 被注釋的字符串的大小必須在指定的范圍內(nèi)
@NotEmpty : 被注釋的字符串的必須非空
首先在入?yún)⒗镄枰r灥淖侄渭由献⒔?每個注解對應(yīng)不同的校驗規(guī)則,并可制定校驗失敗后的信息:
@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; //備注 }
只需要在 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()); } }
到此,關(guān)于“如何理解表單校驗的技術(shù)落地”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。