发表于: 2018-01-29 22:00:23
1 747
今天完成的事情:
1.学习hibernate-validator做数据校验。
1.1添加依赖
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>5.4.1.Final</version>
</dependency>
<dependency>
<groupId>javax.el</groupId>
<artifactId>javax.el-api</artifactId>
<version>2.2.4</version>
</dependency>
<dependency>
<groupId>org.glassfish.web</groupId>
<artifactId>javax.el</artifactId>
<version>2.2.4</version>
</dependency>
1.2使用注解方式定义属性。
@NotBlank(message = "不能为空",groups = {Register.class})
@Size(min = 6, max = 20,message = "用户名必须在6和20之间",groups = {Register.class})
private String userName;
@NotBlank(message = "不能为空",groups = {Register.class})
@Size(min = 6, max = 20,message = "密码必须在6和20之间",groups = {Register.class})
private String passWord;
//默认的头像图片名
private String headPicture = "Fh6Q2Ax_QgYygzd4vJxF4k3ngRda";
private Integer accountStatus= 0; //0未激活,1激活
@NotBlank(message = "不能为空",groups = {Register.class})
@Email(message = "格式不正确",groups = {Register.class})
private String email;
private String emailCode;
@NotBlank(message = "不能为空",groups = {Register.class, Update.class})
@Pattern(regexp="[1-9][0-9]{10}",message = "手机号格式不对",groups = {Register.class, Update.class})
private String phoneNumber;
@NotBlank(message = "不能为空",groups = {Update.class})
@Pattern(regexp="[1-9][0-9]{5,10}",message = "qq格式不对",groups = {Update.class})
private String qq;
1.3在controller中添加对reques的校验。
注册
@RequestMapping(value = "/register",method = RequestMethod.POST)
public String registerpost(@Validated({Register.class}) Student student, BindingResult bindingResult, HttpServletRequest request) {
//数据校验
if(bindingResult.hasErrors()){
List<FieldError> errors = bindingResult.getFieldErrors();
for(FieldError fieldError:errors){
logger.info("验证的错误"+fieldError);
request.setAttribute("ERR_"+ fieldError.getField(),fieldError.getDefaultMessage());
logger.info("request信息"+request);
}
return "register";
效果:
更新个人信息:
遇到的问题:
1.注册和更新页面需要验证的信息不同,如果使用一套校验系统会出现校验错误。
解决方法,分组校验。
1.1.interface
1.2.pojo, 使用group = { }指定属性分组。
1.3.controller 指定需要使用的group
2 运行项目出现 .http-nio-8080-exec-3 错误,查百度说是tomcat内存不足,改内存分配。
收获:
1.学会了使用hibernate-validator做数据校验。
明天的计划:
1.做好第三方api的异常处理。
2.做图片迁移功能。
3.完善业务逻辑。
任务7开始时间:2018.1.27
预计完成时间:2018.2.5
禅道:http://task.ptteng.com/zentao/project-task.html
评论