[英]Pattern annotation not working on Business Model in Java
我有一個模特-
package com.somecompany.gis.businessmodel;
import javax.validation.constraints.Pattern;
public class SearchParameters {
//Check if a valid URL
@Pattern(regexp = "(https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9]\\.[^\\s]{2,}|https?:\\/\\/(?:www\\.|(?!www))[a-zA-Z0-9]\\.[^\\s]{2,}|www\\.[a-zA-Z0-9]\\.[^\\s]{2,})")
String endPoint;
}
我有一個控制器端點-
@RequestMapping(value="/search",method=RequestMethod.POST)
public Map<String,Object> search(@Valid @RequestBody SearchParameters searchParameters){
//Do something
}
我期望@Pattern
參與進來並給出Jackson的Validation錯誤的錯誤。 但這沒有發生。 正則表達式僅接受有效的URL。 我究竟做錯了什么 ?
依賴關系包括-
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.swagger</groupId>
<artifactId>swagger-parser</artifactId>
<version>1.0.35</version>
</dependency>
<dependency>
<groupId>javax.json</groupId>
<artifactId>javax.json-api</artifactId>
<version>1.1.4</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.4</version>
</dependency>
</dependencies>
這些是我在項目中的依賴
請按以下方式檢查它:
@RequestMapping(value="/search",method=RequestMethod.POST)
public Map<String,Object> search(@Valid @RequestBody SearchParameters searchParameters, BindingResult bindingResult){
if (bindingResult.hasErrors()) {
return "errorPage";
}
//Do something
}
您可以用於和檢索驗證錯誤的bindingResult對象。
查看以下URL: https : //spring.io/guides/gs/validating-form-input/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.