• java spring Validator


    1. Validation using Spring’s Validator interface

    Spring features a Validator interface that you can use to validate objects. The Validator interface works using an Errors object so that while validating, validators can report validation failures to the Errors object.

     

    2. data object:

    public class KmailPostForm {
        private Integer kid;
    
        public KmailPostForm() {
        }
    
        public Integer getKid() {
    
            return kid;
        }
    
        public void setKid(Integer kid) {
            this.kid = kid;
        }
    }
    

    3. validator:

    import com.maduar.springbootdemo.form.KmailPostForm;
    import org.springframework.validation.Errors;
    import org.springframework.validation.ValidationUtils;
    import org.springframework.validation.Validator;
    
    public class KmailPostFormValidator implements Validator {
        @Override
        public boolean supports(Class<?> clazz) {
            return KmailPostForm.class.equals(clazz);
        }
    
        @Override
        public void validate(Object target, Errors errors) {
            ValidationUtils.rejectIfEmpty(errors, "kid", "kid.empty");
            KmailPostForm kmailPostForm = (KmailPostForm) target;
            if (kmailPostForm.getKid() == null) {
                errors.rejectValue("kid", "kid is null");
            } else if (kmailPostForm.getKid().intValue() < 0) {
                errors.rejectValue("kid", "kid < 0");
            }
        }
    }
    

      

      4. controller

    @RestController
    @RequestMapping(value = "/user")
    public class UserController {
    
        @InitBinder
        public void initBinder(DataBinder dataBinder) {
            dataBinder.setValidator(new KmailPostFormValidator());
        }
    
    
        @PostMapping(value = "/helloPost/")
        public HttpEntity<?> helloPost(@Valid @RequestBody KmailPostForm kmailPostForm, BindingResult result) {
    
            if (result.hasErrors()) {
                return ResponseEntity.ok("error");
            }
    
            return ResponseEntity.ok("OK");
        }
    
    }
    

      

    a: springboot 版本 1.5.9.RELEASE

    b: https://docs.spring.io/spring-framework/docs/current/spring-framework-reference/core.html#validation

  • 相关阅读:
    代腾飞(为自己名字作诗)
    愈到老愈受用:人生成功生涯规划100诀
    漫步白沫江畔有感
    成功自有成功的方法和道理(一堂价值百万的课)
    你的终点在哪里?决定成功与否的十种智力
    为你痴狂
    苏竹青(帮别人名字作诗)
    何韵仪(帮别人名字作诗)
    腹有诗书又如何
    漫步茶马古道有感
  • 原文地址:https://www.cnblogs.com/maduar/p/9350061.html
Copyright © 2020-2023  润新知