1、依赖
<!--数据校验 专业-->
<!-- hibernate 校验 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.2.4.Final</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
</dependency>
<!--配置servlet依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.2</version>
</dependency>
<!--配置jstl标签需要-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<dependency>
<groupId>taglibs</groupId>
<artifactId>standard</artifactId>
<version>1.1.2</version>
</dependency>
<!--spring配置-->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<!--Lambok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>
2、写请求
<%--错误显示--%>
<form action="Message/testError">
姓名<input type="text" name="name" ><br>
日期:<input type="text" name="date" ><br>
<input type="submit" value="提交">
</form>
3、处理请求 (我这里加入了 springmvc的错误处理 供参看)
@RequestMapping("/testError")
public String testError(@Valid User user, BindingResult result, Map<String, Object> map) {
System.out.println("这是错误页面的");
System.out.println(user);
if (result.getErrorCount() > 0) {
for (FieldError error : result.getFieldErrors()) {
System.out.println(error.getDefaultMessage());
map.put("errors", result.getFieldErrors());//错误信息传到前台
}
}
return "success";
}
4、实体类
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Component
public class User {
private String name;
private Address address;
private String hobby;
@DateTimeFormat(pattern = "yyyy-MM-dd")
@Past//今天时间以前
private Date date;//这里导入的是 java.sql.Date java.util.Date有问题
}
5.2、结果(要是有错误、或者验证不上 则显示如下)