亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

如何解決Spring in action @valid驗證不生效的問題

瀏覽:5日期:2023-07-11 18:12:29
解決Spring in action @valid驗證不生效

按照書上的示例代碼來實現但是,添加了驗證但是沒有生效。

Spring提供了校驗Api是使用但是沒有提供實現,所以需要自己導入實現包。

所以導入實現包:

<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>

但是還是沒有解決問題,程序正常運行,校驗不生效。

想到之前用Maven來導入一些jar報的時候,還是會提示找不到(不知道是不是因為使用的Xampp自帶的tomcat的原因)。之前的解決辦法就是把Jar包丟到Tomcat的lib文件夾下。

于是就把上面Maven下載下來的兩個jar包丟了進去,果然發生了一些變化,這次出現了報錯,程序不能正常運行。

報錯:

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>

但是還是沒有解決問題,使用老辦法,把這兩個Jar包丟到Tomcat的lib文件夾下,問題解決。

最近遇到好多Maven導入的包在運行的時候不生效的問題,就是不報錯,但是運行的時候nodefClass錯誤。

找到解決辦法:解決idea導入maven項目缺少jar包的問題方法

springboot @Validate不生效的原因

使用validate相關注解卻沒用生效的問題

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

引入hibernate相關依賴

<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>

相關配置

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

全局攔截驗證錯誤

@RestControllerAdvicepublic class WebGlobalExceptionHandler {// private static final Logger logger = LoggerFactory.getLogger(GlobalExceptionHandler.class); /** * 攔截JSON參數校驗 */// @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()); }}

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。

標簽: Spring
相關文章:
主站蜘蛛池模板: 亚洲欧美一区二区三区不卡 | 日韩黄色大全 | 国产精品思瑞在线观看 | 国产麻豆精品一区二区 | 一级特黄性色生活片 | 亚洲黄色三级视频 | 亚洲女人性视频 | 国产美女亚洲精品久久久综合 | 久草在线资源福利站 | 国语自产免费精品视频在 | 欧美日韩亚洲一区二区三区 | 国产91小视频在线观看 | 小蝌蚪在线成人免费视频 | 在线看片日韩 | 免费观看欧美成人禁片 | 国产亚洲一区二区在线观看 | 请以你的名字呼唤我免费观看 | 国产精品你懂的在线播放调教 | 日韩在线精品 | 亚洲国产综合第一精品小说 | 正在播放国产酒店露脸 | 在线视频免费观看短视频 | 欧美夜夜片a | 国产精品久久久久9999高清 | 一级视频在线观看 | 日韩中文字幕在线观看 | 免费观看黄视频 | 国产精品一区二区久久精品 | 人与鲁牲交持级毛片 | 精品国产一区二区三区在线观看 | 亚洲欧美小视频 | 国产精品揄拍一区二区 | 亚洲国产色婷婷精品综合在线观看 | 精品特级一级毛片免费观看 | 国产精品久久国产三级国电话系列 | 在线高清免费爱做网 | 亚洲人成高清毛片 | 欧美人牲 | 精品国产免费一区二区三区五区 | 美国黄色一级 | 久久久在线视频精品免费观看 |