一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務(wù)器之家:專(zhuān)注于服務(wù)器技術(shù)及軟件下載分享
分類(lèi)導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|JavaScript|易語(yǔ)言|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - JAVA中通過(guò)Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證

JAVA中通過(guò)Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證

2021-08-01 11:55阿泰555 Java教程

這篇文章主要介紹了JAVA中通過(guò)Hibernate-Validation進(jìn)行參數(shù)驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

在開(kāi)發(fā)java服務(wù)器端代碼時(shí),我們會(huì)遇到對(duì)外部傳來(lái)的參數(shù)合法性進(jìn)行驗(yàn)證,而hibernate-validator提供了一些常用的參數(shù)校驗(yàn)注解,我們可以拿來(lái)使用。

1.maven中引入hibernate-validator對(duì)應(yīng)的jar:

?
1
2
3
4
5
<dependency>
  <groupid>org.hibernate</groupid>
  <artifactid>hibernate-validator</artifactid>
  <version>4.3.1.final</version>
</dependency>

2.在model中定義要校驗(yàn)的字段:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
import javax.validation.constraints.pattern;
import javax.validation.constraints.size;
import org.hibernate.validator.constraints.notempty;
 
public class payrequestdto {
   
  /**
   * 支付完成時(shí)間
   **/
  @notempty(message="支付完成時(shí)間不能空")
  @size(max=14,message="支付完成時(shí)間長(zhǎng)度不能超過(guò){max}位")
  private string paytime;
   
  /**
   * 狀態(tài)
   **/
  @pattern(regexp = "0[0123]", message = "狀態(tài)只能為00或01或02或03")
  private string status;
 
  public string getpaytime() {
    return paytime;
  }
 
  public void setpaytime(string paytime) {
    this.paytime = paytime;
  }
 
  public string getstatus() {
    return status;
  }
 
  public void setstatus(string status) {
    this.status = status;
  }
}

3.定義validation工具類(lèi):

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import java.util.set;
import javax.validation.constraintviolation;
import javax.validation.validation;
import javax.validation.validator;
import org.hibernate.validator.hibernatevalidator;
import com.atai.framework.lang.appexception;
public class validationutils {
  
  /**
   * 使用hibernate的注解來(lái)進(jìn)行驗(yàn)證
   *
   */
  private static validator validator = validation
      .byprovider(hibernatevalidator.class).configure().failfast(true).buildvalidatorfactory().getvalidator();
  /**
   * 功能描述: <br>
   * 〈注解驗(yàn)證參數(shù)〉
   *
   * @param obj
   * @see [相關(guān)類(lèi)/方法](可選)
   * @since [產(chǎn)品/模塊版本](可選)
   */
  public static <t> void validate(t obj) {
    set<constraintviolation<t>> constraintviolations = validator.validate(obj);
    // 拋出檢驗(yàn)異常
    if (constraintviolations.size() > 0) {
      throw new appexception("0001", string.format("參數(shù)校驗(yàn)失敗:%s", constraintviolations.iterator().next().getmessage()));
    }
  }
}

4.在代碼中調(diào)用工具類(lèi)進(jìn)行參數(shù)校驗(yàn):

?
1
validationutils.validate(requestdto);

以下是對(duì)hibernate-validator中部分注解進(jìn)行描述:

 

@asserttrue 用于boolean字段,該字段只能為true  
@assertfalse 該字段的值只能為false
@creditcardnumber 對(duì)信用卡號(hào)進(jìn)行一個(gè)大致的驗(yàn)證
@decimalmax 只能小于或等于該值
@decimalmin 只能大于或等于該值
@digits(integer=,fraction=) 檢查是否是一種數(shù)字的整數(shù)、分?jǐn)?shù),小數(shù)位數(shù)的數(shù)字
@email 檢查是否是一個(gè)有效的email地址
@future 檢查該字段的日期是否是屬于將來(lái)的日期
@length(min=,max=) 檢查所屬的字段的長(zhǎng)度是否在min和max之間,只能用于字符串
@max 該字段的值只能小于或等于該值
@min 該字段的值只能大于或等于該值
@notnull 不能為null
@notblank 不能為空,檢查時(shí)會(huì)將空格忽略
@notempty 不能為空,這里的空是指空字符串
@null 檢查該字段為空
@past 檢查該字段的日期是在過(guò)去
@pattern(regex=,flag=) 被注釋的元素必須符合指定的正則表達(dá)式
@range(min=,max=,message=) 被注釋的元素必須在合適的范圍內(nèi)
@size(min=, max=) 檢查該字段的size是否在min和max之間,可以是字符串、數(shù)組、集合、map等
@url(protocol=,host,port) 檢查是否是一個(gè)有效的url,如果提供了protocol,host等,則該url還需滿(mǎn)足提供的條件
@valid 該注解主要用于字段為一個(gè)包含其他對(duì)象的集合或map或數(shù)組的字段,或該字段直接為一個(gè)其他對(duì)象的引用,這樣在檢查當(dāng)前對(duì)象的同時(shí)也會(huì)檢查該字段所引用的對(duì)象

 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://www.cnblogs.com/atai/p/6943404.html

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: www.4虎影院| 天天躁天天碰天天看 | 国产特级 | 久久亚洲伊人 | 韩国三级年轻小的胰子完整 | 日本不卡在线视频高清免费 | 国产精品久久久久久吹潮 | 国产精品va在线观看手机版 | 欧美日韩三区 | 五月婷婷伊人网 | 草女人逼 | 色哟哟在线视频 | 天天综合色天天综合网 | 欧美男同猛男 videos 同性 | 亚洲 综合 欧美在线 热 | 女张腿男人桶羞羞漫画 | 拍拍叫痛的无挡视频免费 | 精品国产精品国产偷麻豆 | 亚洲国产欧美在线人网站 | 无人视频在线观看完整版高清 | 啊啊啊好大在线观看 | 99热这里只有精品免费 | 午夜dj影院在线观看完整版 | 亚洲 欧美 中文字幕 在线 | 亚洲国产精品成人综合久久久 | 色综合色狠狠天天久久婷婷基地 | 青青国产成人久久激情91麻豆 | 操动漫美女视频 | 成人影院www在线观看 | 99久久一香蕉国产线看观看 | 污软件在线观看 | 深夜免费网站 | 午夜福利在线观看6080 | 国产一卡2卡3卡四卡高清 | 欧美折磨另类系列sm | 欧美高清日韩 | 日本一卡二卡3卡四卡网站精品 | 五月色婷婷久久综合 | 亚洲精选在线观看 | 亚洲成人一区二区 | 亚洲欧美日韩特级毛片 |