1.首先需要导入相应的maven配置
!!!版本太新的话,有的注解会失效,暂时用之前的版本
<!-- 校验相关 -->
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.3.0.Alpha1</version>
</dependency>
<dependency>
<groupId>javax.validation</groupId>
<artifactId>validation-api</artifactId>
<version>1.1.0.Final</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>
2.Entity实体类配置
@Length(min=4,max=4,message="id长度为4位")
@NotNull(message="id不能为空,且长度为4位")
private String id;
private String employeename;
private String employeepassword;
@Email(message="请输入正确的邮箱(邮箱格式不正确)")
private String employeeemail;
@Max(value=120,message="年龄最大不能查过120岁")
@Min(value=0,message="年龄要大于0岁")
private Integer employeeage;
3.controller相应的配置(这里以注册为演示)
@RequestMapping(value="/register",method=RequestMethod.POST)
public ModelAndView employRegister(@Valid Employee employee,BindingResult result) {
//员工注册
ModelAndView modelAndView = new ModelAndView();
//如果传入的参数有问题,返回注册页面
if(result.hasErrors()) {
List<FieldError> errorList = result.getFieldErrors();
for (FieldError error : errorList) {
System.out.println(error.getField()+"*"+error.getDefaultMessage());
}
modelAndView.setViewName("getEmByName");
return modelAndView;
}
//如果传入的参数没有问题,进行正常的逻辑操作
int status = employeeService.insertEmployee(employee);
if(status<0) {
modelAndView.addObject("register_msg", "注册失败");
modelAndView.setViewName("registerResult");
}
modelAndView.addObject("register_msg", "注册成功");
modelAndView.addObject("employee", employee);
modelAndView.setViewName("registerResult");
return modelAndView;
}
4.相应的JSP配置
需要先引入SpringMVC的form标签
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form"%>
<form:form action="login" method="post" modelAttribute="employee">
<label>employeename:</label>
<form:input path="employeename" />
<br />
<form:errors path="employeename"></form:errors>
<label>employeepassword:</label>
<form:password path="employeepassword" />
<br />
<form:errors path="employeepassword"></form:errors>
<button type="submit">登录</button>
</form:form>
<hr />
<form:form action="register" method="post" modelAttribute="employee">
<label>id:</label>
<form:input path="id" />
<form:errors path="id" cssClass="error"></form:errors>
<br />
<label>用户名:</label>
<form:input path="employeename" />
<form:errors path="employeename" cssClass="error"></form:errors>
<br />
<label>密码:</label>
<form:password path="employeepassword" />
<form:errors path="employeepassword" cssClass="error"></form:errors>
<br />
<label>邮箱:</label>
<form:input path="employeeemail" />
<form:errors path="employeeemail" cssClass="error"></form:errors>
<br />
<label>年龄:</label>
<form:input path="employeeage" />
<form:errors path="employeeage" cssClass="error"></form:errors>
<br />
<label>性别:</label>
<form:radiobutton path="employeesex" value="男" />男
<form:radiobutton path="employeesex" value="女" />女<br />
<label>职位:</label>
<form:select path="employeepost">
<option value="员工">员工</option>
<option value="部门">部门</option>
</form:select>
<br />
<label>部门:</label>
<form:select path="employeedept">
<option value="市场部">市场部</option>
<option value="营销部">营销部</option>
</form:select>
<br />
<button type="submit">注册</button>
<button type="reset">重置</button>
</form:form>
上面写的form:errors 后面的 cssClass意思是错误提示所在的css类名,我们可以自己创建相应的格式,来让错误信息进行显示,我这里仅仅是做了简单的颜色设置
<style type="text/css">
.error {
color: red;
}
</style>
5.效果展示