在多層企業級應用中,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 ...