国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
java開源驗(yàn)證框架OVAL應(yīng)用實(shí)例

         

對(duì)oval驗(yàn)證框架進(jìn)行分類,并針對(duì)常用的驗(yàn)證規(guī)則進(jìn)行總結(jié),從而可以抽象成模型可以定義,達(dá)到定義后自動(dòng)生成,減少開發(fā)人員的工作量,同時(shí)也規(guī)范化代碼結(jié)構(gòu)。

1.  驗(yàn)證分類

驗(yàn)證根據(jù)驗(yàn)證對(duì)象的類型可以分為字符串驗(yàn)證、數(shù)值驗(yàn)證、日期驗(yàn)證、自定義驗(yàn)證,其中自定義驗(yàn)證可以是關(guān)聯(lián)驗(yàn)證或邏輯驗(yàn)證。一般@NotNull規(guī)則是所有類型都有可能用到,即不許為空,后面每個(gè)類型不再說明,一般和數(shù)據(jù)庫約束保持一致;

 

1.1、  字符串驗(yàn)證

字符串一般驗(yàn)證包括不能為空格(@NotBlank)、長度驗(yàn)證(@Length)以及內(nèi)容驗(yàn)證。其中內(nèi)容驗(yàn)證包括@Email、@Url、@HasSubstring以及自定義驗(yàn)證。一般@NotNull、@NotBlank、@Length必須且一起使用。

自定義內(nèi)容驗(yàn)證可以是@Assert、@MatchPatternCheck、@CheckWith以及@ValidateWithMethod;@Assert使用groovy表達(dá)式做字段關(guān)聯(lián)驗(yàn)證、@MatchPatternCheck正則表達(dá)式驗(yàn)證、@ValidateWithMethod、@CheckWith是實(shí)現(xiàn)業(yè)務(wù)邏輯驗(yàn)證。

      

1.2、  數(shù)值驗(yàn)證

規(guī)范中數(shù)據(jù)庫中使用number類型,一般集合使用@Length長度驗(yàn)證。

@Range驗(yàn)證范圍有最大值和最小值屬性,默認(rèn)最小值為0,@Range屬于內(nèi)容驗(yàn)證,Range屬性有最大值和最小值,可以使用默認(rèn)值。@NotNegative表示值為非負(fù)數(shù),屬于內(nèi)容驗(yàn)證。

       @Length長度應(yīng)該是number類型的長度加上精度,如果精度大于0,則再加上一位小數(shù)點(diǎn)。

       自定義驗(yàn)證同上,單數(shù)值沒有正在表達(dá)式驗(yàn)證。

1.3、  日期驗(yàn)證

日期在開發(fā)規(guī)范中采用字符串,且長度只有10和19兩類,如果需要顯示年或年月,建議采用下拉列表框,截取需要顯示的部分??丶捎弥蛔x模式,則無需長度驗(yàn)證。

@DateRange、@CFuture、@CPast屬于內(nèi)容驗(yàn)證。

自定義驗(yàn)證同上,單數(shù)值沒有正在表達(dá)式驗(yàn)證。

 

2.  驗(yàn)證模型抽象定義

每個(gè)字段有多個(gè)驗(yàn)證規(guī)則;每個(gè)規(guī)則都有三個(gè)常用屬性:錯(cuò)誤代碼、錯(cuò)誤消息、前置條件,每個(gè)規(guī)則有若干個(gè)參數(shù)??偨Y(jié)如下表格所示:

      

       模型抽象:驗(yàn)證規(guī)則的抽象包括規(guī)則名稱,規(guī)則參數(shù),多個(gè)參數(shù)使用逗號(hào)分隔;為了簡化,只能添加和刪除,不能修改;生成對(duì)應(yīng)的實(shí)際注解描述,方便排查錯(cuò)誤。

 

 

 

 

參數(shù)個(gè)數(shù)

參數(shù)說明

備注

無參

@NotNull、@NotBlank、@Url、@Email

@NotNegative

@CFuture、@CPast

 

兩個(gè)參數(shù)

@Length、@Range、@DateRange

 

max、min

 

@HasSubstring

value

ignoreCase(boolean)

自定義

@Assert有一個(gè)expr參數(shù)

 

@CheckWith有個(gè)value

 

@ValidateWithMethod有methodName參數(shù)和參數(shù)類型的class,即字段的class

 

@MatchPatternCheck有一個(gè)pattern參數(shù)

 

 

3.  與jquery validate對(duì)應(yīng)關(guān)系

待續(xù),已經(jīng)有良好思路的請(qǐng)指正。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
jQuery Validate 相關(guān)參數(shù)及常用的自定義驗(yàn)證規(guī)則
ASP.Net4中實(shí)現(xiàn)自定義的請(qǐng)求驗(yàn)證
這么寫參數(shù)校驗(yàn)(Validator)就不會(huì)被勸退了~
【新提醒】Excel|如何自定義從右第N個(gè)字符開始取N個(gè)字符的函數(shù)?|定義,字符
擴(kuò)展基于prototype的validation.js
CBuilder 空字符串判斷
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服