SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南_第1頁
SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南_第2頁
SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南_第3頁
SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第SpringBoot后端數(shù)據(jù)校驗(yàn)實(shí)戰(zhàn)操作指南@Override

publicbooleanisValid(Strings,ConstraintValidatorContextconstraintValidatorContext){

//判斷是否為必填

if(required){//必填

returnPhoneNumberValidator.isMobile(s);

}else{//非必填

if(StringUtils.isEmpty(s)){//非必填時(shí)填的值為空時(shí)

returntrue;

}else{//非必填時(shí)填的值不為空時(shí)

returnPhoneNumberValidator.isMobile(s);

4.捕獲數(shù)據(jù)校驗(yàn)拋出的異常:

/**

*Description:全局異常處理類

*Date:2025/6/2817:35

@RestControllerAdvice

publicclassGlobalExceptionHandler{

@ExceptionHandler(Exception.class)

publicResponseBeanExceptionHandler(Exceptione){

if(einstanceofGlobalException){

GlobalExceptionex=(GlobalException)e;

returnResponseBean.error(ex.getResponseBeanEnum());

//處理參數(shù)校驗(yàn)拋出的異常BindException

}elseif(einstanceofBindException){

BindExceptionex=(BindException)e;

ResponseBeanres=ResponseBean.error(ResponseBeanEnum.BINDING_ERROR);

res.setMessage("參數(shù)校驗(yàn)異常:"+ex.getAllErrors().get(0).getDefaultMessage());

returnres;

returnResponseBean.error(ResponseBeanEnum.ERROR);

}

在屬性上使用這個(gè)注解:

/**選手聯(lián)系電話*/

@IsMobile(message="聯(lián)系電話格式不正確")

@NotNull(message="手機(jī)號(hào)不能為空")

@Excel(name="選手聯(lián)系電話")

privateStringphoneNumber;

然后在Controller類上或者方法傳入的參數(shù)前加@Validated或@Valid注解來開啟參數(shù)校驗(yàn)。

入?yún)ο蟀蠒r(shí),怎么對集合中的每個(gè)屬性進(jìn)行校驗(yàn)

controller層:

加上@Validated

@PostMapping

publicAjaxResultaddInfo(@RequestBody@ValidatedTeamInfoDtoteamInfoDto)

returntoAjax(comTeamService.insert(teamInfoDto));

實(shí)體類中:

在要校驗(yàn)的集合屬性上加@Valid這個(gè)注解,否則它只會(huì)校驗(yàn)這個(gè)集合中元素是否為空,不會(huì)校驗(yàn)集合中各個(gè)元素

@Data

publicclassTeamInfoDto{

@NotEmpty(message="選手信息不能為空")

@Valid

privateListComUseruser;

對集合中元素?cái)?shù)據(jù)的限制設(shè)置:

在ComUser實(shí)體類中:

在想要校驗(yàn)的屬性上加上對應(yīng)注解

publicclassComUserextendsBaseEntity

privatestaticfinallongserialVersionUID=1L;

privateLongid;

/**選手姓名*/

@NotNull(message="姓名不能為空")

privateStringname;

/**選手聯(lián)系電話*/

@NotNull(message="手機(jī)號(hào)不能為空")

@IsMobile(message="手機(jī)格式不正確")

priv

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論