真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證

今天就跟大家聊聊有關(guān)怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營(yíng)銷(xiāo)型網(wǎng)站建設(shè)、網(wǎng)站重做改版、久治網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、H5頁(yè)面制作商城網(wǎng)站開(kāi)發(fā)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)等建站業(yè)務(wù),價(jià)格優(yōu)惠性價(jià)比高,為久治等各大城市提供網(wǎng)站開(kāi)發(fā)制作服務(wù)。

校驗(yàn)注解:

valication提供了很多的校驗(yàn)注解,具體的參數(shù)可以去看源碼,主要是message參數(shù),要是校驗(yàn)不符合的時(shí)候,會(huì)返回這些自定義的不符合信息。

注解類型屬性值類型使用說(shuō)明
@AssertFalseBoolean、boolean被注解的屬性值是false。
@AssertTrueBoolean、boolean被注解的屬性值是true。
@DecimalMax(value)BigDecimal、BigInteger、String、byte、short、int、long及對(duì)應(yīng)類型的封裝類被注解的屬性值必須是數(shù)字,其值必須小于或等于指定的最大值。注:參數(shù)值必須是能正確轉(zhuǎn)化為BigDecimal的字符串,即,會(huì)使用new BigDecimal(String str)。
@DecimalMin(value)BigDecimal、BigInteger、String、byte、short、int、long及對(duì)應(yīng)類型的封裝類被注解的屬性值必須是數(shù)字,其值必須大于或等于指定的最小值。注:參數(shù)值必須是能正確轉(zhuǎn)化為BigDecimal的字符串,即,會(huì)使用new BigDecimal(String str)。
@MaxBigDecimal、BigInteger、byte、short、int、long及對(duì)應(yīng)類型的封裝類被注解的屬性值必須小于或等于指定的最大值。
@MinBigDecimal、BigInteger、byte、short、int、long及對(duì)應(yīng)類型的封裝類被注解的屬性值必須大于或等于指定的最小值。
@Digits(integer=,fraction=)BigDecimal、BigInteger、String、byte、short、int、long及對(duì)應(yīng)類型的封裝類被注解的屬性值必須是數(shù)字,且整數(shù)位最多integer位,小數(shù)位最多fraction位。
@EmailString被注解的屬性值是Email地址
@Negative 被注解的屬性值必須為負(fù)數(shù)。
@NegativeOrZero 被注解的屬性值必須為負(fù)數(shù)或0。
@Positive 被注解的屬性值必須為正數(shù)。
@PositiveOrZero 被注解的屬性值必須為正數(shù)或0。
@NotBlankString被注解的屬性值是否為非null,并且去空格之后的length大于0。與@NotEmpty的區(qū)別在于,@NotBlank只能注解字符串,并且忽略結(jié)尾空格。
@NotEmptyString、Collection、Map、arrays被注解的屬性值是否為非null或空集合。
@NotNull任意類型被注解的屬性值是否為非null。
@Null任意類型被注解的屬性值是否為null。
@Futurejava.util.Date,
 java.util.Calendar;
被注解的屬性值必須是將來(lái)的一個(gè)日期。
@FutureOrPresentjava.util.Date,
 java.util.Calendar;
被注解的屬性值必須是當(dāng)前或?qū)?lái)的一個(gè)日期。
@PastOrPresentjava.util.Date,
 java.util.Calendar;
被注解的屬性值必須是現(xiàn)在或過(guò)去的一個(gè)日期。
@Pastjava.util.Date,
 java.util.Calendar;
被注解的屬性值必須是過(guò)去的一個(gè)日期。
@Size(min=, max=)String、Collection、Map、arrays驗(yàn)證注解的元素值的在min和max(包含)指定區(qū)間之內(nèi),如字符長(zhǎng)度、集合大小

注:

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

2  @NotNull:不能為null,但可以為empty,沒(méi)有Size的約束

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

接下來(lái),我們就在postman中模擬,添加用戶的信息。

1.創(chuàng)建一個(gè)用戶Bean,并注解上相應(yīng)的驗(yàn)證。

public class UserBean {
  //不為空判斷
  @NotEmpty(message = "用戶名不能為空")
  private String userName;
  //手機(jī)正則驗(yàn)證
  @NotEmpty (message = "電話號(hào)碼不能為空")
  @Pattern(regexp = "^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\\d{8}$",message = "電話號(hào)碼不正確")
  private String mobile;
  //數(shù)值限定大小
  @NotNull(message = "年齡不能為空")
  @Min(message = "你未成年額!",value = 18)
  private Integer age;
  //默認(rèn)匹配所有的正則,需要自己寫(xiě)匹配規(guī)則,使用里面的regexp參數(shù)
  @Email(message = "email格式不對(duì)")
  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層中對(duì)前端傳過(guò)來(lái)的數(shù)據(jù)與自己寫(xiě)的驗(yàn)證校驗(yàn)是否正確,使用@Valid開(kāi)啟對(duì)對(duì)象進(jìn)行校驗(yàn)。

@RestController
public class ValidationController {
 
  @PostMapping("addUserMessage")
  public String addUserMessage(@Valid @RequestBody UserBean userBean,BindingResult bindingResult){
    //如果表單驗(yàn)證錯(cuò)誤,獲取message中的信息并返回
    if(bindingResult.hasErrors()){
      return bindingResult.getFieldError().getDefaultMessage();
    }
    //表單驗(yàn)證成功之后,可以寫(xiě)邏輯代碼或者寫(xiě)入數(shù)據(jù)
    return "操作成功";
  }
}

3.在postman中進(jìn)行各種驗(yàn)證,只有當(dāng)所有的都校驗(yàn)成功后,才會(huì)往下走。

怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證

看完上述內(nèi)容,你們對(duì)怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


網(wǎng)頁(yè)名稱:怎么在JavaBean中實(shí)現(xiàn)valication驗(yàn)證
瀏覽地址:http://weahome.cn/article/iijjdi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部