在JSF輸入頁面中支援Hibernate驗證

2021-08-25 10:15:06 字數 974 閱讀 2882

在多層企業級應用中,web框架和orm持久層框架通常會有不同的資料驗證機制。web框架在web表單被提交時驗證使用者輸入,而持久層框架在儲存資料進資料庫之前驗證資料。在大多數情況下,它們顯得多餘。

seam允許你在實體beans中直接註解資料驗證約束,這樣使用與實體beans相聯絡的jsf輸入框時,同樣的驗證約束將應用於輸入資料。

下面的例子中,person物件的名字必須由兩個單詞組成,並且年齡必須在3到100歲之間。

@entity

@name(」person」)

@table(name=」extperson」)

public class person implements serializable

public void setid(long id)

@notnull

@pattern(regex=」^[a-za-z.-]+ [a-za-z.-]+」,

message=」need a firstname and a lastname」)

public string getname()

public void setname(string name)

@notnull

@range(min=3, max=100,

message=」age must be between 3 and 100″)

public int getage()

public void setage(int age)

}下面的jsf頁面將自動」包裝」一些驗證邏輯。如果使用者提交無效值,將重新顯示頁面,同時高亮顯示無效的字段。

your name:

your age:

你可以通過簡單的jsf facets和css樣式配置這些高亮顯示的錯誤資訊。也可以在無效欄位前加入有css樣式修飾的錯誤提示。如下所示,當驗證失敗時,將顯示驗證註解中的資訊屬性。

使用基於ajax的jsf控制項,你無需提交任何表單,就可以進行輸入欄位的驗證。

在Hyper V主機中支援VLAN

上文介紹了在vmware esxi中支援vlan的方法,同樣在hyper v中,也可以配置虛擬交換機以支援vlan。本文仍然使用圖1 1的實驗拓撲,只是在hyper v中只配置了一塊物理網絡卡,連線到交換機的trunk埠,該網絡卡同樣為hyper v提供管理位址 為虛擬機器提供不同vlan的網路,實...

在MFC中支援sqlite3

建立mfc工程的步驟我就不贅述了,以下操作均假設你已經建立好了乙個mfc工程 測試環境 windows7 編譯環境 visual studio 2015 新增步驟 2 解壓,將common 資料夾中的cppsqlite3.cpp cppsqlite3.h sqlite3.dll sqlite3.li...

在CentOS 6 4中支援exfat格式的U盤

exfat支援是通過fuse模組的方式支援的,其專案位址是 當前版本是 1.0.1。目前exfat的支援已經是全功能支援,支援讀寫。編譯前,請先檢查系統,如果系統中沒有scons和gcc,請通過yum安裝 1 sudoyuminstallscons gcc 這個軟體是fuse模組,編譯需要fuse ...