我們目前正在尋找一個java框架,它在服務器端輕鬆進行驗證,客戶端,Spring,Hibernate,Play是我們正在搜索的框架選擇,我們使用基於註釋的開發,並且此框架將確定我們的javascript在客戶端和服務器端的驗證操作中,哪個更好的架構(體系結構)?哪個java web框架可供客戶端和服務器端驗證選擇?
回答
客戶端驗證(假設「客戶端」,你的意思是基於JavaScript的)是一個神話。它使一個更好的用戶界面 - 沒問題 - 但它不能被稱爲「驗證」,因爲什麼來自客戶端不能被認爲有效;直到它在服務器上被驗證。
服務器端驗證是不是一個整體件或者 - 至少有3個分量到它:
- 數據存儲約束(例如不爲空,最大長度,唯一性,參照完整性,等等在數據庫級別指定)。
- 域模型驗證(確保你的實體是有效的)
- 客戶端輸入驗證(UI,並以較小的程度上,基於API - 驗證)
很可能從#2派生#1 - Hibernate Validatior做假設你使用Hibernate作爲你的JPA提供者,這是一個出色的工作。
也可以從#3派生客戶端檢查。如果您打算使用GWT,那麼使用Jeff推薦的GWT VF是一種很好的方法,因爲它基於與Hibernate Validator相同的規範(JSR-303)。如果您打算使用其他的東西,那麼從代碼生成必要的scriptlet或基於XML的驗證規則編寫代碼是相當簡單的。過去我已經爲ExtJS控件完成了它。
最大的問題是橋接#2和#3 - 同一個域實體可能由UI中的許多不同視圖表示,每個視圖都有自己的驗證規則;所述驗證規則可以根據實體狀態和動態變化等條件進行。AFAIK除非你的UI是非常簡單的1對1 CRUD類型,否則沒有好的方法可以自動完成。
There's GWT Validation。它旨在橋接客戶端和服務器端驗證。
我會說Spring框架是最好的。我們一直在使用Spring-Hibernate組合。
添加到ChssPly76,您可以直接在您的用戶界面中使用Hibernate驗證(或上一版本中的javax.validation)註釋實體,如果您使用RichFaces,也會自動應用相同的驗證規則。它有一個名爲beanValidator的組件,它讀取上述註釋。
與GWT不同,RichFaces(和JSF)允許使用更多的文檔樣式的網頁,而不是應用程序樣式。
新的Spring 3(它在RC2,很快就會定稿)在與Hibernate匹配時有很多好處可以幫助你的事業。綁定用戶輸入後驗證模型是很常見的。 Spring 3爲使用JSR-303的聲明性驗證提供支持。如果您的類路徑中存在JSR-303提供程序(如Hibernate Validator),則會自動啓用此支持。當啓用時,可以簡單地通過註釋一個控制器方法參數與@Valid
註釋觸發驗證:
@RequestMapping(value = "/appointments", method = RequestMethod.POST)
public String add(@Valid AppointmentForm form, BindingResult result) {
....
}
public class AppointmentForm {
@NotNull @Future
private Date date;
}
結合傳入POST參數之後,AppointmentForm
將被驗證;在這種情況下,要驗證日期字段值不爲空,並且將來會發生。
因此,這使得您的域模型的驗證變得非常簡單,您可以自由地在前端使用任何Javascript庫,無論是Jquery還是Extjs等。我已經在Spring中廣泛使用了Extjs的小部件,缺乏靈活性,期望Jquery和其他任何事情的相同。還有Spring-js,您可以查看並評估其用例的優點。
你可以給一些更多的細節,我創建了具有名稱,郵件,文本字段的表單對象類然後我創建formcontroller使用有效的註釋,我couldnt理解如何實現,並與形式使用它。 –
@Burak:你應該得到你需要的東西http://static.springsource.org/spring/docs/3.0.0.RC2/spring-framework-reference/html/ch05s07.html –
你也可以用ajaxical醬找一個JSF組件庫。然而,他們大多隻做服務器端驗證,但使用ajax。例子是RichFaces(也包括在Seam),PrimeFaces和IceFaces。
- 1. 爲MVC選擇最佳客戶端/服務器驗證框架
- 2. 客戶端和服務器端驗證
- 3. Web服務客戶端身份驗證
- 4. 客戶端或服務器端框架?
- 5. 服務器端/客戶端驗證.net
- 6. 客戶端和服務器驗證
- 7. 服務器端和客戶端端框架
- 8. 如何維護服務器端驗證和客戶端驗證
- 9. 客戶端驗證和服務器端驗證
- 10. 客戶端和服務器端驗證的驗證摘要
- 11. 服務器端和客戶端驗證可能
- 12. asp.net驗證客戶端或客戶端或服務器端
- 13. Web服務客戶端和服務器
- 14. Java web服務客戶端,動態更改客戶端證書
- 15. Html.beginform驗證服務器端和客戶端端
- 16. Java Web服務客戶端
- 17. Web服務客戶端Java
- 18. Java Web服務客戶端:
- 19. java web服務客戶端
- 20. 驗證客戶端與服務器
- 21. 客戶端/服務器認證:React客戶端與C#web api
- 22. 骨幹:部分客戶端驗證+服務器端驗證
- 23. 客戶端和服務器端(JavaScript和PHP驗證)
- 24. 平衡asp.net服務器端驗證與客戶端jQuery驗證
- 25. 服務器客戶端消息驗證
- 26. 規則:客戶端驗證與服務器端驗證?
- 27. 使用RESTful API進行客戶端和服務器端驗證
- 28. 服務器客戶端身份驗證
- 29. 字段驗證 - 服務器端和客戶端
- 30. Knockout.js的客戶端驗證框架
需要更多信息 – Timeless