程序员社区

【SpringMvc学习及总结14】数据日期格式化与数据校验

接CRUD博客

1.数据日期格式化

在这里插入图片描述
现在添加一个员工:
在这里插入图片描述
在这里插入图片描述
报错,如果将birth格式修改一下则添加成功。
在这里插入图片描述
在这里插入图片描述
那么如何将日期数据格式化??
使用注解@DateTimeFormat(pattern = "yyyy-MM-dd")规定格式 ,规定了这种格式之后就可以以这种格式添加数据了。

@Data
@NoArgsConstructor
@AllArgsConstructor
public class Employee {
	private Integer id;
	private String lastName;
	private String email;
	private Integer gender;
	private Department department;
	
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date birth;
}

在这里插入图片描述
在这里插入图片描述

2.数据校验

SpringMvc可以使用JSR303进行数据校验
如何进行后端校验:

  • 导入校验框架的 jar包
    classmate-0.8.0.jar
    jboss-logging-3.1.1.GA.jar
    validation-api-1.1.0.CR1.jar
    hibernate-validator-5.0.0.CR2.jar
    hibernate-validator-annotation-processor-5.0.0.CR2.jar
  • 给JavaBean的属性添加校验注解
public class Employee {
	private Integer id;
	@NotEmpty//不能为空
    @Length(min=6,max=18)//长度必须为6--8
	private String lastName;
	@Email//必须是邮箱
	private String email;
	private Integer gender;
	private Department department;

	@DateTimeFormat(pattern ="yyyy-MM-dd")
    @Past//必须是一个过去的时间
	private Date birth;
}
  • 在SpringMvc封装对象的时候,告诉SpringMvc这个JavaBean需要校验
public String addEmp(@Valid Employee employee)
  • 如何直角校验成功还是失败
    给需要校验的JavaBean后面紧跟一个BindingResult,这个BindingResult就是封住了前一个Bean的校验结构
public String addEmp(@Valid Employee employee, BindingResult result){
  • 判断是否有校验错误:
    @RequestMapping(value="/emp",method = RequestMethod.POST)
    public String addEmp(@Valid Employee employee, BindingResult result){
        System.out.println("要添加的员工:"+employee);
        //判断是否有校验错误
        boolean hasErrors = result.hasErrors();
        if(hasErrors){
            System.out.println("有校验错误");
            return "add";
        }else{
            employeeDao.save(employee);
            //返回列表页面:重定向到查询所有请求
            return "redirect:/emps";

在这里插入图片描述
在这里插入图片描述
数据校验还可以显示错误:

<form:form action="${ctp}/emp" modelAttribute="employee" method="post">
    lastname:<form:input path="lastName"/><form:errors path="lastName"/>
    <br>
    email:<form:input path="email"/><form:errors path="email"/>
    <br>
    gender:<br>
    男:<form:radiobutton path="gender" value="1"/><br>
    女:<form:radiobutton path="gender" value="0"/><br>
    birth:<form:input path="birth"/><form:errors path="birth"/>
    dept:
    <form:select path="department.id"
                 items="${depts}"
                 itemLabel="departmentName"
                 itemValue="id">
    </form:select>
    <br>
    <input type="submit" value="保存"/>
</form:form>

赞(0) 打赏
未经允许不得转载:IDEA激活码 » 【SpringMvc学习及总结14】数据日期格式化与数据校验

相关推荐

  • 暂无文章

一个分享Java & Python知识的社区