SpringBoot系列之Vlidator

前言

在此許某人祝大家新年快樂,在新的一年里大家都能夠堅(jiān)持做自己想做的事,堅(jiān)持就是勝利!

不管是前端還是后端,相信大家對(duì)數(shù)據(jù)的驗(yàn)證并不鮮見,特別是做后端的小朋友,因?yàn)橛脩羰强梢钥邕^前端的驗(yàn)證直接到達(dá)后端的,很多人還是在用if和正則來過濾條件,這樣會(huì)讓代碼顯得很冗余,閱讀性比較差,不符合Java的OO思想。

筆者的編程環(huán)境是IDEA+SpringBoot(thymeleaf,security,jpa+mysql),只要有web依賴就可以了

創(chuàng)建項(xiàng)目

1、導(dǎo)入maven的依賴:?<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-thymeleaf</artifactId></dependency>

2、創(chuàng)建實(shí)體:


pic-one

3、創(chuàng)建controller類:


pic-two

4、測(cè)試:


pic-three

是不是很簡單和很方便,validator還默認(rèn)提供了好多這樣的功能:

限制 說明?

@Null 限制只能為null?

@NotNull 限制必須不為null?

@AssertFalse 限制必須為false?

@AssertTrue 限制必須為true?

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

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

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

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

@Past 驗(yàn)證注解的元素值(日期類型)比當(dāng)前時(shí)間早?

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

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

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

@Size(max,min) 限制字符長度必須在min到max之間?

@NotEmpty 驗(yàn)證注解的元素值不為null且不為空(字符串長度不為0、集合大小不為0)?

@NotBlank 驗(yàn)證注解的元素值不為空(不為null、去除首位空格后長度為0),不同于@NotEmpty,@NotBlank只應(yīng)用于字符串且在比較時(shí)會(huì)去除字符串的空格?

@Email 驗(yàn)證注解的元素值是Email,也可以通過正則表達(dá)式和flag指定自定義的email格式?


當(dāng)然,Validator也是支持自定義的

代碼如下:


pic-four



pic-five



pic-six



pic-seven

OK,大功告成!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,551評(píng)論 19 139
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗(yàn)。 張土汪:刷leetcod...
    土汪閱讀 12,912評(píng)論 0 33
  • 今天 欣喜地發(fā)現(xiàn) 嗨皮可以從趴著翻身成仰躺了 也許 你會(huì)告訴我 我的孩子三個(gè)多月就各種翻身自如了 我不羨慕嫉妒 我...
    嗨Pi麻閱讀 249評(píng)論 0 0
  • 人類是情感動(dòng)物,缺失了情感的滋潤,心田便變得荒蕪,那就不能稱之為人了,而只是重復(fù)機(jī)械動(dòng)作的傀儡罷了。 親情、友情、...
    愛在西苑閱讀 305評(píng)論 0 1
  • 1 有些菜看起來很好吃卻很難吃,就像有些人看起來很好看卻不容易相處。 2 從此我要做個(gè)壞人,這樣,他們才會(huì)知道我以...
    海獅妹妹_閱讀 373評(píng)論 0 0

友情鏈接更多精彩內(nèi)容