色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

如何解決Spring in action @valid驗(yàn)證不生效的問(wèn)題

瀏覽:45日期:2023-07-11 18:12:29
解決Spring in action @valid驗(yàn)證不生效

按照書上的示例代碼來(lái)實(shí)現(xiàn)但是,添加了驗(yàn)證但是沒(méi)有生效。

Spring提供了校驗(yàn)Api是使用但是沒(méi)有提供實(shí)現(xiàn),所以需要自己導(dǎo)入實(shí)現(xiàn)包。

所以導(dǎo)入實(shí)現(xiàn)包:

<dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-validator</artifactId> <version>5.1.1.Final</version></dependency><!-- https://mvnrepository.com/artifact/javax.validation/validation-api --><dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>1.1.0.Final</version></dependency>

但是還是沒(méi)有解決問(wèn)題,程序正常運(yùn)行,校驗(yàn)不生效。

想到之前用Maven來(lái)導(dǎo)入一些jar報(bào)的時(shí)候,還是會(huì)提示找不到(不知道是不是因?yàn)槭褂玫腦ampp自帶的tomcat的原因)。之前的解決辦法就是把Jar包丟到Tomcat的lib文件夾下。

于是就把上面Maven下載下來(lái)的兩個(gè)jar包丟了進(jìn)去,果然發(fā)生了一些變化,這次出現(xiàn)了報(bào)錯(cuò),程序不能正常運(yùn)行。

報(bào)錯(cuò):

Hibernate Validator java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.validator.internal.engine.ConfigurationImpl

然后查找解決辦法,在Stack Overflow上找到了解決辦法,缺少org.jboss.logging和com.fasterxml classmate包,所以在Maven中加入

<dependency> <groupId>org.jboss.logging</groupId> <artifactId>jboss-logging</artifactId> <version>3.3.2.Final</version> </dependency> <dependency> <groupId>com.fasterxml</groupId> <artifactId>classmate</artifactId> <version>1.3.4</version> </dependency>

但是還是沒(méi)有解決問(wèn)題,使用老辦法,把這兩個(gè)Jar包丟到Tomcat的lib文件夾下,問(wèn)題解決。

最近遇到好多Maven導(dǎo)入的包在運(yùn)行的時(shí)候不生效的問(wèn)題,就是不報(bào)錯(cuò),但是運(yùn)行的時(shí)候nodefClass錯(cuò)誤。

找到解決辦法:解決idea導(dǎo)入maven項(xiàng)目缺少jar包的問(wèn)題方法

springboot @Validate不生效的原因

使用validate相關(guān)注解卻沒(méi)用生效的問(wèn)題

public class LoginRequest implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty(value = '手機(jī)號(hào)', required = true, example = '18888888') @Pattern(regexp = RegularConstants.PHONE, message = '手機(jī)號(hào)碼格式錯(cuò)誤') @JsonProperty(value = 'phone') private String phone; @ApiModelProperty(value = '密碼', required = true, example = '1~[6,18]') @Pattern(regexp = RegularConstants.PASSWORD, message = '密碼格式錯(cuò)誤,密碼必須以字母開(kāi)頭,長(zhǎng)度在6~18之間,只能包含字符、數(shù)字和下劃線') private String password;}解決思路

引入hibernate相關(guān)依賴

<dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.21.Final</version></dependency><dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>3.0.0</version></dependency>

相關(guān)配置

@Configurationpublic class ValidatorConfiguration { @Bean public Validator validator() {ValidatorFactory validatorFactory = Validation.byProvider(HibernateValidator.class).configure().addProperty('hibernate.validator.fail_fast', 'true').buildValidatorFactory();return validatorFactory.getValidator(); }}

全局?jǐn)r截驗(yàn)證錯(cuò)誤

@RestControllerAdvicepublic class WebGlobalExceptionHandler {// private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); /** * 攔截JSON參數(shù)校驗(yàn) */// @ResponseStatus(HttpStatus.OK) @ExceptionHandler(MethodArgumentNotValidException.class) public CommonResult bindException(MethodArgumentNotValidException e) {BindingResult bindingResult = e.getBindingResult();return CommonResult.failed(ExceptionCodeEnum.VALIDATE_FAILED,Objects.requireNonNull(bindingResult.getFieldError()).getDefaultMessage()); }}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Spring
相關(guān)文章:
主站蜘蛛池模板: 看真人视频一级毛片 | www.亚洲天堂网 | 一区二区三区视频免费 | 91香蕉国产观看免费人人 | 久草资源在线视频 | 一级黄色α片 | 日韩美女视频网站 | 92精品国产自产在线观看 | 成人国产精品999视频 | 成年人免费小视频 | 久久999视频 | 亚洲综合久 | 国内精品久久久久久久久蜜桃 | 亚洲一级毛片在线观播放 | 美女舒服好紧太爽了视频 | 日韩精品福利视频一区二区三区 | 麻豆国产96在线 | 日韩 | 各种偷拍盗摄视频在线观看 | 欧美精品18videos性欧美 | 久久成人毛片 | 成人毛片18女人毛片免费 | 亚洲欧美在线免费观看 | 午夜福利国产一级毛片 | 亚洲视频免费在线 | 久久午夜视频 | 一区二区三区四区产品乱码伦 | 日韩黄色毛片 | 男女国产一级毛片 | 亚洲欧美日韩在线观看二区 | 久久亚洲欧洲日产国码 | 美女叉开腿让男人捅 | 草草影院www色欧美极品 | 午夜视频网站 | 9久久99久久久精品齐齐综合色圆 | 亚洲孕交 | 欧美a级毛片 | 久草国产视频 | 黑色丝袜美美女被躁视频 | 国产高清免费影视在线观看 | 亚洲日本中文字幕在线 | 亚洲国产成人久久一区www |