怎么在JavaBean中实现valication验证-创新互联

今天就跟大家聊聊有关怎么在JavaBean中实现valication验证,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

成都创新互联公司服务项目包括平山网站建设、平山网站制作、平山网页制作以及平山网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,平山网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到平山省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

校验注解:

valication提供了很多的校验注解,具体的参数可以去看源码,主要是message参数,要是校验不符合的时候,会返回这些自定义的不符合信息。

注解类型属性值类型使用说明
@AssertFalseBoolean、boolean被注解的属性值是false。
@AssertTrueBoolean、boolean被注解的属性值是true。
@DecimalMax(value)BigDecimal、BigInteger、String、byte、short、int、long及对应类型的封装类被注解的属性值必须是数字,其值必须小于或等于指定的大值。注:参数值必须是能正确转化为BigDecimal的字符串,即,会使用new BigDecimal(String str)。
@DecimalMin(value)BigDecimal、BigInteger、String、byte、short、int、long及对应类型的封装类被注解的属性值必须是数字,其值必须大于或等于指定的最小值。注:参数值必须是能正确转化为BigDecimal的字符串,即,会使用new BigDecimal(String str)。
@MaxBigDecimal、BigInteger、byte、short、int、long及对应类型的封装类被注解的属性值必须小于或等于指定的大值。
@MinBigDecimal、BigInteger、byte、short、int、long及对应类型的封装类被注解的属性值必须大于或等于指定的最小值。
@Digits(integer=,fraction=)BigDecimal、BigInteger、String、byte、short、int、long及对应类型的封装类被注解的属性值必须是数字,且整数位最多integer位,小数位最多fraction位。
@EmailString被注解的属性值是Email地址
@Negative 被注解的属性值必须为负数。
@NegativeOrZero 被注解的属性值必须为负数或0。
@Positive 被注解的属性值必须为正数。
@PositiveOrZero 被注解的属性值必须为正数或0。
@NotBlankString被注解的属性值是否为非null,并且去空格之后的length大于0。与@NotEmpty的区别在于,@NotBlank只能注解字符串,并且忽略结尾空格。
@NotEmptyString、Collection、Map、arrays被注解的属性值是否为非null或空集合。
@NotNull任意类型被注解的属性值是否为非null。
@Null任意类型被注解的属性值是否为null。
@Futurejava.util.Date,
 java.util.Calendar;
被注解的属性值必须是将来的一个日期。
@FutureOrPresentjava.util.Date,
 java.util.Calendar;
被注解的属性值必须是当前或将来的一个日期。
@PastOrPresentjava.util.Date,
 java.util.Calendar;
被注解的属性值必须是现在或过去的一个日期。
@Pastjava.util.Date,
 java.util.Calendar;
被注解的属性值必须是过去的一个日期。
@Size(min=, max=)String、Collection、Map、arrays验证注解的元素值的在min和max(包含)指定区间之内,如字符长度、集合大小

注:

1  @NotEmpty :不能为null,且Size>0

2  @NotNull:不能为null,但可以为empty,没有Size的约束

3  @NotBlank:只用于String,不能为null且trim()之后size>0

接下来,我们就在postman中模拟,添加用户的信息。

1.创建一个用户Bean,并注解上相应的验证。

public class UserBean {
  //不为空判断
  @NotEmpty(message = "用户名不能为空")
  private String userName;
  //手机正则验证
  @NotEmpty (message = "电话号码不能为空")
  @Pattern(regexp = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$",message = "电话号码不正确")
  private String mobile;
  //数值限定大小
  @NotNull(message = "年龄不能为空")
  @Min(message = "你未成年额!",value = 18)
  private Integer age;
  //默认匹配所有的正则,需要自己写匹配规则,使用里面的regexp参数
  @Email(message = "email格式不对")
  private String email;
 
  public String getUserName() {
    return userName;
  }
 
  public void setUserName(String userName) {
    this.userName = userName;
  }
 
  public String getMobile() {
    return mobile;
  }
 
  public void setMobile(String mobile) {
    this.mobile = mobile;
  }
 
  public Integer getAge() {
    return age;
  }
 
  public void setAge(Integer age) {
    this.age = age;
  }
 
  public String getEmail() {
    return email;
  }
 
  public void setEmail(String email) {
    this.email = email;
  }
}

2.在controller层中对前端传过来的数据与自己写的验证校验是否正确,使用@Valid开启对对象进行校验。

@RestController
public class ValidationController {
 
  @PostMapping("addUserMessage")
  public String addUserMessage(@Valid @RequestBody UserBean userBean,BindingResult bindingResult){
    //如果表单验证错误,获取message中的信息并返回
    if(bindingResult.hasErrors()){
      return bindingResult.getFieldError().getDefaultMessage();
    }
    //表单验证成功之后,可以写逻辑代码或者写入数据
    return "操作成功";
  }
}

3.在postman中进行各种验证,只有当所有的都校验成功后,才会往下走。

怎么在JavaBean中实现valication验证

看完上述内容,你们对怎么在JavaBean中实现valication验证有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联网站建设公司行业资讯频道,感谢大家的支持。

另外有需要云服务器可以了解下创新互联建站www.cdcxhl.com,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


本文名称:怎么在JavaBean中实现valication验证-创新互联
分享URL:http://ybzwz.com/article/dcicpe.html