課程
/后端開發(fā)
/Java
/SpringBoot構(gòu)建電商基礎(chǔ)秒殺項(xiàng)目
在代碼中沒有看到使用hibernate-validator里面的內(nèi)容呀
2019-01-22
源自:SpringBoot構(gòu)建電商基礎(chǔ)秒殺項(xiàng)目 3-13
正在回答
課程例講解的很清楚了,在沒有引入hibernate-validator之前,我們使用判空的方式來驗(yàn)證UserModel。
????????//如果需要的信息為空,則拋出異常 ????????if?(StringUtils.isEmpty(userModel.getName()) ???????????????||?userModel.getAge()?==?null ???????????????||?userModel.getGender()?==?null ???????????????||?StringUtils.isEmpty(userModel.getTelephone()) ???????????????||?StringUtils.isEmpty(userModel.getEncrptPassword()))?{ ????????????throw?new?BusinessException(EnumBussinessError.PARAMETER_VALIDATION_ERROR); ????????}
hibernate-validator是一個(gè)驗(yàn)證框架,可以大大簡(jiǎn)化驗(yàn)證的過程,增加了驗(yàn)證的細(xì)節(jié)
首先我們對(duì)UserModel進(jìn)行了改造
@NotBlank(message?=?"用戶名不能為空") private?String?name; @NotNull(message?=?"性別不能為空") private?Byte?gender; @NotNull(message?=?"年齡不能為空") @Min(value?=?0,?message?=?"年齡不能小于0") @Max(value?=?150,?message?=?"年齡不能大于150") private?Integer?age; @NotBlank(message?=?"手機(jī)號(hào)不能為空") private?String?telephone; private?String?registreMode; private?String?thirdPartyId; @NotBlank(message?=?"密碼不能為空") private?String?encrptPassword;
其次我們建立其了兩個(gè)類,一個(gè)是ValidatorUtil,用來驗(yàn)證添加驗(yàn)證規(guī)則的UserModel;另一個(gè)類ValidatorResult,用來保存驗(yàn)證后的信息。
驗(yàn)證代碼就簡(jiǎn)化為:
ValidatorResult?validatorResult?=?validatorUtil.validate(userModel); if?(validatorResult.getHasError())?{ ????throw?new?BusinessException(EnumBussinessError.PARAMETER_VALIDATION_ERROR,validatorResult.getErrorMsg()); }
可以參考如下文章:
SpringBoot 統(tǒng)一異常、數(shù)據(jù)校驗(yàn)處理
willwei 提問者
大先生灬 回復(fù) willwei 提問者
火鳳 回復(fù) willwei 提問者
慕容6363201 回復(fù) willwei 提問者
舉報(bào)
應(yīng)用SpringBoot快速搭建擁有用戶、商品、交易及秒殺活動(dòng)的電商秒殺應(yīng)用。
1 回答validator使用的javax.validation.Validator,為什么要引入hibernate validator呢
2 回答hibernate validator
1 回答不添加hibernate-validator依賴為什么也能達(dá)到一樣的校驗(yàn)效果?
1 回答validator 驗(yàn)證model
2 回答validator的版本問題 報(bào)錯(cuò):javax.validation.UnexpectedTypeException: HV000030: No validator could be found for constraint
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2019-01-22
課程例講解的很清楚了,在沒有引入hibernate-validator之前,我們使用判空的方式來驗(yàn)證UserModel。
hibernate-validator是一個(gè)驗(yàn)證框架,可以大大簡(jiǎn)化驗(yàn)證的過程,增加了驗(yàn)證的細(xì)節(jié)
首先我們對(duì)UserModel進(jìn)行了改造
其次我們建立其了兩個(gè)類,一個(gè)是ValidatorUtil,用來驗(yàn)證添加驗(yàn)證規(guī)則的UserModel;另一個(gè)類ValidatorResult,用來保存驗(yàn)證后的信息。
驗(yàn)證代碼就簡(jiǎn)化為:
可以參考如下文章:
SpringBoot 統(tǒng)一異常、數(shù)據(jù)校驗(yàn)處理