tnblog
首页
视频
资源
登录

参数校验

4203人阅读 2021/12/1 16:24 总访问:1590806 评论:0 收藏:0 手机
分类: Java

转载 https://blog.csdn.net/hg2726028/article/details/78048502

  • 1.Validator的jar包依赖

  1. <dependency>
  2.     <groupId>org.hibernate</groupId>
  3.     <artifactId>hibernate-validator</artifactId>
  4.     <version>5.4.1.Final</version>
  5. </dependency>
  6. <dependency>
  7.     <groupId>org.hibernate</groupId>
  8.     <artifactId>hibernate-validator-annotation-processor</artifactId>
  9.     <version>5.4.1.Final</version>
  10. </dependency>
  11. <dependency>
  12.     <groupId>javax.validation</groupId>
  13.     <artifactId>validation-api</artifactId>
  14.     <version>2.0.0.Final</version>
  15. </dependency>
  • 2.一般在conroller层中用对象接受参数信息时,会对参数进行校验,为了简化代码,hibernate validator提供了基于注解方式的参数校验

    1. package com.user.vo;
    2. import com.alibaba.fastjson.JSON;
    3. import org.hibernate.validator.constraints.NotEmpty;
    4. /**
    5.  * 注册对象实例类
    6.  *
    7.  * @author CaiWei
    8.  * @version 1.0
    9.  * @created 2017-09-12 23:44:26
    10.  * @since 1.0
    11.  **/
    12. public class RegisterUserBean {
    13.     @NotEmpty(message = "用户名不可为空")
    14.     private String userName;
    15.     private String nickName;
    16.     @NotEmpty(message = "密码不可为空")
    17.     private String passWord;
    18.     @NotEmpty(message = "确认密码不可为空")
    19.     private String confirmPwd;
    20.     private String sex;
    21.     private String mobile;
    22.  
    23. }
  • 3.controller层加入@valid注解

  1. package com.user;
  2. import com.alibaba.fastjson.JSON;
  3. import com.base.ResponseEntity;
  4. import com.user.entity.UserEntity;
  5. import com.user.service.IUserService;
  6. import com.user.vo.RegisterUserBean;
  7. import org.slf4j.Logger;
  8. import org.slf4j.LoggerFactory;
  9. import org.springframework.beans.factory.annotation.Autowired;
  10. import org.springframework.stereotype.Controller;
  11. import org.springframework.validation.BindingResult;
  12. import org.springframework.validation.FieldError;
  13. import org.springframework.web.bind.annotation.RequestMapping;
  14. import org.springframework.web.bind.annotation.RequestMethod;
  15. import javax.validation.Valid;
  16. import java.util.List;
  17. /**
  18.  * something to description this class
  19.  *
  20.  * @author CaiWei
  21.  * @version 1.0
  22.  * @created 2017-09-12 23:33:01
  23.  * @since 1.0
  24.  **/
  25. @Controller
  26. @RequestMapping(value = "/user/register")
  27. public class UserRegisterController {
  28.     private final Logger LOGGER = LoggerFactory.getLogger(UserRegisterController.class);
  29.     @Autowired
  30.     private IUserService userService;
  31.     @RequestMapping(value = "/page")
  32.     public String toRegisterPage() {
  33.         return "/user/register";
  34.     }
  35.     @RequestMapping(value = "/save",method = RequestMethod.POST)
  36.     public ResponseEntity registered(@Valid RegisterUserBean userBean, BindingResult bindingResult) {
  37.         LOGGER.info("注册的对象为:{}", JSON.toJSONString(userBean));
  38.         if (bindingResult.hasErrors()){
  39.             List<FieldError> errors = bindingResult.getFieldErrors();
  40.             for (FieldError error :errors){
  41.                 LOGGER.info(error.getDefaultMessage());
  42.             }
  43.             return new ResponseEntity().error(errors.get(0).getDefaultMessage());
  44.         }
  45.         boolean res = false;
  46.         if (!"{}".equals(JSON.toJSONString(userBean))) {
  47.             UserEntity usr = new UserEntity();
  48.             usr.setUsername(userBean.getUserName());
  49.             usr.setCreatetime(System.currentTimeMillis() / 1000);
  50.             usr.setNickname(userBean.getNickName());
  51.             usr.setMobile(userBean.getMobile());
  52.             usr.setUsertype(0);
  53.             usr.setPassword(userBean.getConfirmPwd());
  54.             res = userService.save(usr);
  55.         }
  56.         return res ? new ResponseEntity().success() : new ResponseEntity().error();
  57.     }
  58. }


评价
没有个性,不需要签名
排名
4
文章
473
粉丝
3
评论
2
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术