Java+Hibernate校驗java請求vo實體

1.前景

Vo實體添加標簽@NotBlank或@Pattern靈活配置二跋,靈活校驗。通用處理代碼揽乱,減少大量校驗代碼的書寫鞋吉,提高開發(fā)效率。

2.代碼使用

學生實體:

package jdk.ValidateVo;

import jdk.ValidateVo.customAnnotation.Money;
import org.hibernate.validator.constraints.NotBlank;

import javax.validation.Valid;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import java.util.List;

/**
 * Created by JadenOliver on 2018/5/21.
 */
public class StudentInfo {

    @NotBlank(message="用戶名不能為空")
    private String userName;

    @NotBlank(message="年齡不能為空")
    @Pattern(regexp="^[0-9]{1,2}$",message="年齡是整數(shù)")
    private String age;

    /**
     * 如果是空蒋荚,則不校驗,如果不為空,則校驗
     */
    @Pattern(regexp="^[0-9]{4}-[0-9]{2}-[0-9]{2}$",message="出生日期格式不正確")
    private String birthday;

    @NotBlank(message="學校不能為空")
    private String school;

    @NotNull
    @Money  //自定義注解栗精,自定義校驗方式。
    //@Pattern(regexp = "^\\d+\\.\\d{1,2}?$", message = "金額格式不正確")  //說明:@Pattern只能用在String上瞻鹏,否則報異常:No validator could be found for type: java.lang.Double
    private Double money;

    @Valid   //親測:如果不在關聯(lián)屬性上設置@Valid標簽悲立,便不會校驗關聯(lián)實體的屬性值。
    private List<ParentVo> parents;  //關聯(lián)實體校驗

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getAge() {
        return age;
    }

    public void setAge(String age) {
        this.age = age;
    }

    public String getBirthday() {
        return birthday;
    }

    public void setBirthday(String birthday) {
        this.birthday = birthday;
    }

    public String getSchool() {
        return school;
    }

    public void setSchool(String school) {
        this.school = school;
    }

    public Double getMoney() {
        return money;
    }

    public void setMoney(Double money) {
        this.money = money;
    }

    public List<ParentVo> getParents() {
        return parents;
    }

    public void setParents(List<ParentVo> parents) {
        this.parents = parents;
    }
}

具體代碼參見:

代碼結構:Java+Hibernate利用標簽校驗Vo:
1>簡單校驗新博;@NotBlank薪夕、@NotNull、@Pattern使用
2>自定義注解和校驗規(guī)則赫悄;@Money使用
3>關聯(lián)實體屬性校驗原献。@Valid使用

3.注意點:

1.Integer、Double數(shù)據(jù)類型埂淮,即非String字符串類型姑隅,只能添加@NotNull,否則會報javax.validator not found for Integer異常倔撞。
2.關聯(lián)實體校驗讲仰,需要在關聯(lián)實體屬性上添加@Valid標簽。關聯(lián)實體如果是一個List痪蝇,也可以正常運行鄙陡。

4.參考資料

java使用validator進行校驗

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市躏啰,隨后出現(xiàn)的幾起案子柔吼,更是在濱河造成了極大的恐慌,老刑警劉巖丙唧,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件愈魏,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機培漏,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門溪厘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人牌柄,你說我怎么就攤上這事畸悬。” “怎么了珊佣?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵蹋宦,是天一觀的道長。 經常有香客問我咒锻,道長冷冗,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任惑艇,我火速辦了婚禮蒿辙,結果婚禮上,老公的妹妹穿的比我還像新娘滨巴。我一直安慰自己思灌,他們只是感情好,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布恭取。 她就那樣靜靜地躺著泰偿,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蜈垮。 梳的紋絲不亂的頭發(fā)上耗跛,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天,我揣著相機與錄音窃款,去河邊找鬼课兄。 笑死,一個胖子當著我的面吹牛晨继,可吹牛的內容都是我干的烟阐。 我是一名探鬼主播,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼紊扬,長吁一口氣:“原來是場噩夢啊……” “哼蜒茄!你這毒婦竟也來了?” 一聲冷哼從身側響起餐屎,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤檀葛,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后腹缩,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體屿聋,經...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡空扎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了润讥。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片转锈。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖楚殿,靈堂內的尸體忽然破棺而出撮慨,到底是詐尸還是另有隱情,我是刑警寧澤脆粥,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布砌溺,位于F島的核電站,受9級特大地震影響变隔,放射性物質發(fā)生泄漏规伐。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一弟胀、第九天 我趴在偏房一處隱蔽的房頂上張望楷力。 院中可真熱鬧喊式,春花似錦孵户、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至献联,卻和暖如春竖配,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背里逆。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工进胯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人原押。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓胁镐,卻偏偏與公主長得像,于是被迫代替她去往敵國和親诸衔。 傳聞我的和親對象是個殘疾皇子盯漂,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

推薦閱讀更多精彩內容

  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn)笨农,斷路器就缆,智...
    卡卡羅2017閱讀 134,628評論 18 139
  • IoC 容器 Bean 的作用域 自定義作用域實現(xiàn) org.springframework.beans.facto...
    Hsinwong閱讀 2,458評論 0 7
  • hibernate Validator 是 Bean Validation 的參考實現(xiàn) 。 Hibernate V...
    一路逆風i閱讀 3,076評論 0 1
  • 今天在社群萌姐談到了她的愛情觀: 1.自己領域杰出 2.人格完整獨立 3.價值觀跟自己統(tǒng)一 我很認同萌姐的愛情觀谒亦,...
    大_林子閱讀 144評論 0 0
  • 在一處比武擂臺上竭宰,年輕氣盛的龍?zhí)佑鲆娏水敃r風華絕代的錦公子空郊。兩人從一開始的劍拔弩張,到現(xiàn)在的惺惺相惜切揭,可謂是當時...
    鐘離x然閱讀 162評論 0 0