今天就跟大家聊聊有關(guān)怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括平山網(wǎng)站建設(shè)、平山網(wǎng)站制作、平山網(wǎng)頁(yè)制作以及平山網(wǎng)絡(luò)營(yíng)銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,平山網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到平山省份的部分城市,未來相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!校驗(yàn)注解:
valication提供了很多的校驗(yàn)注解,具體的參數(shù)可以去看源碼,主要是message參數(shù),要是校驗(yàn)不符合的時(shí)候,會(huì)返回這些自定義的不符合信息。
注解類型 | 屬性值類型 | 使用說明 |
@AssertFalse | Boolean、boolean | 被注解的屬性值是false。 |
@AssertTrue | Boolean、boolean | 被注解的屬性值是true。 |
@DecimalMax(value) | BigDecimal、BigInteger、String、byte、short、int、long及對(duì)應(yīng)類型的封裝類 | 被注解的屬性值必須是數(shù)字,其值必須小于或等于指定的大值。注:參數(shù)值必須是能正確轉(zhuǎn)化為BigDecimal的字符串,即,會(huì)使用new BigDecimal(String str)。 |
@DecimalMin(value) | BigDecimal、BigInteger、String、byte、short、int、long及對(duì)應(yīng)類型的封裝類 | 被注解的屬性值必須是數(shù)字,其值必須大于或等于指定的最小值。注:參數(shù)值必須是能正確轉(zhuǎn)化為BigDecimal的字符串,即,會(huì)使用new BigDecimal(String str)。 |
@Max | BigDecimal、BigInteger、byte、short、int、long及對(duì)應(yīng)類型的封裝類 | 被注解的屬性值必須小于或等于指定的大值。 |
@Min | BigDecimal、BigInteger、byte、short、int、long及對(duì)應(yīng)類型的封裝類 | 被注解的屬性值必須大于或等于指定的最小值。 |
@Digits(integer=,fraction=) | BigDecimal、BigInteger、String、byte、short、int、long及對(duì)應(yīng)類型的封裝類 | 被注解的屬性值必須是數(shù)字,且整數(shù)位最多integer位,小數(shù)位最多fraction位。 |
String | 被注解的屬性值是Email地址 | |
@Negative | 被注解的屬性值必須為負(fù)數(shù)。 | |
@NegativeOrZero | 被注解的屬性值必須為負(fù)數(shù)或0。 | |
@Positive | 被注解的屬性值必須為正數(shù)。 | |
@PositiveOrZero | 被注解的屬性值必須為正數(shù)或0。 | |
@NotBlank | String | 被注解的屬性值是否為非null,并且去空格之后的length大于0。與@NotEmpty的區(qū)別在于,@NotBlank只能注解字符串,并且忽略結(jié)尾空格。 |
@NotEmpty | String、Collection、Map、arrays | 被注解的屬性值是否為非null或空集合。 |
@NotNull | 任意類型 | 被注解的屬性值是否為非null。 |
@Null | 任意類型 | 被注解的屬性值是否為null。 |
@Future | java.util.Date, java.util.Calendar; | 被注解的屬性值必須是將來的一個(gè)日期。 |
@FutureOrPresent | java.util.Date, java.util.Calendar; | 被注解的屬性值必須是當(dāng)前或?qū)淼囊粋€(gè)日期。 |
@PastOrPresent | java.util.Date, java.util.Calendar; | 被注解的屬性值必須是現(xiàn)在或過去的一個(gè)日期。 |
@Past | java.util.Date, java.util.Calendar; | 被注解的屬性值必須是過去的一個(gè)日期。 |
@Size(min=, max=) | String、Collection、Map、arrays | 驗(yàn)證注解的元素值的在min和max(包含)指定區(qū)間之內(nèi),如字符長(zhǎng)度、集合大小 |
注:
1 @NotEmpty :不能為null,且Size>0
2 @NotNull:不能為null,但可以為empty,沒有Size的約束
3 @NotBlank:只用于String,不能為null且trim()之后size>0
接下來,我們就在postman中模擬,添加用戶的信息。
1.創(chuàng)建一個(gè)用戶Bean,并注解上相應(yīng)的驗(yàn)證。
public class UserBean { //不為空判斷 @NotEmpty(message = "用戶名不能為空") private String userName; //手機(jī)正則驗(yàn)證 @NotEmpty (message = "電話號(hào)碼不能為空") @Pattern(regexp = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$",message = "電話號(hào)碼不正確") private String mobile; //數(shù)值限定大小 @NotNull(message = "年齡不能為空") @Min(message = "你未成年額!",value = 18) private Integer age; //默認(rèn)匹配所有的正則,需要自己寫匹配規(guī)則,使用里面的regexp參數(shù) @Email(message = "email格式不對(duì)") private String email; public String getUserName() { return userName; } public void setUserName(String userName) { this.userName = userName; } public String getMobile() { return mobile; } public void setMobile(String mobile) { this.mobile = mobile; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; } }
2.在controller層中對(duì)前端傳過來的數(shù)據(jù)與自己寫的驗(yàn)證校驗(yàn)是否正確,使用@Valid開啟對(duì)對(duì)象進(jìn)行校驗(yàn)。
@RestController public class ValidationController { @PostMapping("addUserMessage") public String addUserMessage(@Valid @RequestBody UserBean userBean,BindingResult bindingResult){ //如果表單驗(yàn)證錯(cuò)誤,獲取message中的信息并返回 if(bindingResult.hasErrors()){ return bindingResult.getFieldError().getDefaultMessage(); } //表單驗(yàn)證成功之后,可以寫邏輯代碼或者寫入數(shù)據(jù) return "操作成功"; } }
3.在postman中進(jìn)行各種驗(yàn)證,只有當(dāng)所有的都校驗(yàn)成功后,才會(huì)往下走。
看完上述內(nèi)容,你們對(duì)怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司行業(yè)資訊頻道,感謝大家的支持。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)建站www.rwnh.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
名稱欄目:怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證-創(chuàng)新互聯(lián)
鏈接URL:http://www.rwnh.cn/article34/dcicpe.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供建站公司、網(wǎng)站排名、關(guān)鍵詞優(yōu)化、微信小程序、網(wǎng)站維護(hù)、商城網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容