原创 Hibernate Validator 第22篇:類級別約束

約束也可以應用在類級別上,來校驗整個對象的狀態。類級別的約束,被定義和屬性約束相同的方式,下面的例子展示@ValidPassengerCount的約束註解和校驗器,你在之前的文章中見到過的。 @Target({ TYPE, A

原创 Hibernate Validator 第12篇:缺省的內插約束錯誤信息

消息插值是爲違反Jakarta Bean驗證約束創建錯誤消息的過程。在本篇文章中,你將瞭解如何定義和解析這些消息,以及在默認的方法不能滿足您的需求時,如何自定義消息內插器。 一、缺省的消息內插器 約束違反消息來源於所謂的消息描

原创 Hibernate Validator 第10篇:聲明方法約束

本篇文章講了方法的參數約束部分。 一. 參數約束 通過加約束註解在方法或構造器的參數上,可以指定方法或構造器的前置條件,如下例: public class RentalStation { public RentalStati

原创 Hibernate Validator 第20篇:自定義約束-約束校驗器

已經定義了約束註解,你需要創建一個約束校驗器,用來校驗使用了@CheckCase註解的元素。 它必須實現這個Bean Validation 接口ConstraintValidator,像下面那樣: public class C

原创 Hibernate Validator 第15篇:組約束-組繼承

在使用校驗組的時候,我們需要調用validate()方法對於每一個校驗的組,或者一個一個地指定他們。在有些情況下,你也許想定義一組約束,它包含另一組約束。你可以使用組繼承實現它。 我們定義一個SuperCar和一個組RaceC

原创 Hibernate Validator 第23篇:自定義約束-交叉參數約束

Bean校驗區分了兩種不同的約束。 到目前爲止,普通的約束是前面講到的,例如應該用在元素、類型、成員變量、容器元素、方法參數或返回值等等上的約束。 相反,交叉參數約束應用在一個方法或者是構造器的參數數據上,可以使用在根據幾個值

原创 Hibernate Validator 第14篇:組約束-請求組

前面章節討論的在Validator和ExecutableValidator上所有的驗證方法,都是關於變量參數-類型的變量組。到目前爲止,我們一直忽略了這個組,但是現在是時候拿出來了。 一、請求組 組允許您限制驗證期間應用的約束

原创 Hibernate Validator 第9篇:聲明和驗證方法的約束

在BeanValidation1.1中,約束註解不但可以應用在JavaBean和它們的屬性上面,還可以應用在任何類型的方法的參數和返回值上面。 一、引言 方法約束這種方式,有下列幾種方式: 在方法或構造器之前,調用方必須滿足

原创 Hibernate Validator 第13篇:自定義內插約束錯誤信息

如果默認的消息內插算法不能滿足你的需要,也可以自定義一個MessageInterpolator實現。 自定義插值消息必須實現javax.validation.MessageInterpolator接口。這個實現是線程安全的。這

原创 Hibernate Validator 第21篇:自定義約束-錯誤信息和使用約束

1 The error message 最後一個剩下的模塊是一個error message,它會使用在一個@CheckCase約束被違反的時候。爲了定義它,創建一個文件名爲ValidationMessages.properties

原创 Hibernate Validator 第11篇:返回值約束

在一些例子中,一個約束既可以應用在可執行的參數上,又可以應用在返回值上。這種情況的一個例子是自定義約束,它允許通過腳本或EL(表達式語言),指定一個校驗規則。 一、返回值約束 這樣的約束,必須定一個個成員validationA

原创 Hibernate Validator 第16篇:組約束-定義組隊列

缺省情況下,約束沒有特定的計算順序,不管它們屬於哪個組。然而,在有些情況下,控制特定的計算順序是很有用的。 爲了實現一個校驗順序,你只需定義一個接口,然後用註解@GroupSequence聲明它,定義組中被校驗的順序。如果至少

原创 Hibernate Validator 第18篇:組轉換

如果你想校驗car,並且一起校驗和它相關的driver,該怎麼辦呢?當然你可以傳遞一個需要的組合給validate調用,但是如果你想使這些校驗作爲默認組的一部分呢? 這裏@ConvertGroup可以幫你使用不同的組,而不是在

原创 Hibernate Validator 第17篇:組約束-重新定義組隊列

一、@GroupSequence 除了定義組隊列以外,這個@GroupSequence註解也允許重新定義默認的組,對於一個給定的類。爲了這麼做,僅僅只需要在類上加上@GroupSequence註解,指定組的隊列,它就可以爲該類替換

原创 Hibernate Validator 第19篇:自定義約束-約束註解

Bean Validation API定義了一整套標準的約束註解,例如@NotNull,@Size等等。這種情況下,這些內建的約束是不夠的,你可以很容易地創建自定義的約束,根據你自己的校驗需要。 一、首先 爲了建立一個自定義約