Java+Hibernate校驗(yàn)java請(qǐng)求vo實(shí)體

1.前景

Vo實(shí)體添加標(biāo)簽@NotBlank或@Pattern靈活配置,靈活校驗(yàn)。通用處理代碼,減少大量校驗(yàn)代碼的書寫,提高開發(fā)效率。

2.代碼使用

學(xué)生實(shí)體:

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;

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

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

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

    @Valid   //親測:如果不在關(guān)聯(lián)屬性上設(shè)置@Valid標(biāo)簽,便不會(huì)校驗(yàn)關(guān)聯(lián)實(shí)體的屬性值。
    private List<ParentVo> parents;  //關(guān)聯(lián)實(shí)體校驗(yà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;
    }
}

具體代碼參見:

代碼結(jié)構(gòu):Java+Hibernate利用標(biāo)簽校驗(yàn)Vo:
1>簡單校驗(yàn);@NotBlank、@NotNull、@Pattern使用
2>自定義注解和校驗(yàn)規(guī)則;@Money使用
3>關(guān)聯(lián)實(shí)體屬性校驗(yàn)。@Valid使用

3.注意點(diǎn):

1.Integer、Double數(shù)據(jù)類型,即非String字符串類型,只能添加@NotNull,否則會(huì)報(bào)javax.validator not found for Integer異常。
2.關(guān)聯(lián)實(shí)體校驗(yàn),需要在關(guān)聯(lián)實(shí)體屬性上添加@Valid標(biāo)簽。關(guān)聯(lián)實(shí)體如果是一個(gè)List,也可以正常運(yùn)行。

4.參考資料

java使用validator進(jìn)行校驗(yàn)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評(píng)論 19 139
  • IoC 容器 Bean 的作用域 自定義作用域?qū)崿F(xiàn) org.springframework.beans.facto...
    Hsinwong閱讀 2,615評(píng)論 0 7
  • hibernate Validator 是 Bean Validation 的參考實(shí)現(xiàn) 。 Hibernate V...
    一路逆風(fēng)i閱讀 3,190評(píng)論 0 1
  • 今天在社群萌姐談到了她的愛情觀: 1.自己領(lǐng)域杰出 2.人格完整獨(dú)立 3.價(jià)值觀跟自己統(tǒng)一 我很認(rèn)同萌姐的愛情觀,...
    大_林子閱讀 168評(píng)論 0 0
  • 在一處比武擂臺(tái)上,年輕氣盛的龍?zhí)佑鲆娏水?dāng)時(shí)風(fēng)華絕代的錦公子。兩人從一開始的劍拔弩張,到現(xiàn)在的惺惺相惜,可謂是當(dāng)時(shí)...
    鐘離x然閱讀 204評(píng)論 0 0

友情鏈接更多精彩內(nèi)容