我有一個java應用程序,我可以從一個下拉列表中選擇一個對象(讓我們說 - 一個計算機名稱),然後配置它。對於下拉列表中的每臺計算機,都有需要配置的不同配置字段。我在我的數據庫中有一個將配置字段映射到comptuer的表。每行包含計算機名稱,配置字段名稱和字段類型。堅持文本驗證器
例如:
computer_name | field_name | type
=======================================
test1 | ip | String
---------------------------------------
test1 | user name | String
---------------------------------------
test2 | manage_port | Number
---------------------------------------
test3 | creation_date | Date
當選擇從UI中的下拉框test1
用戶會看到2文本框,一個是IP,第二個用戶名。每個文本框都需要呈現給用戶,並有一個驗證器來檢查正則表達式。當選擇test2
我想驗證這確實是一個數字,也是最小值和最大值。對於test3
我需要確保日期格式(再次使用正則表達式)。
數據庫是postgres(雖然我猜解決方案應該適用於每個關係數據庫),我使用的是Spring + Hibernate。
我的想法是爲驗證器創建驗證器POJO和數據庫表,驗證器將包含所有可能在不同列中進行的驗證。問題是,我覺得有空列有點多餘。在java中,我想我會做一個抽象的Validator
類,它擴展了RegexValidator
類,NumberFormatValidator
類,MinNumberValidator
類,但是我不知道如何在數據庫中正確表示它(需要記住它需要是映射到配置表中的每個配置行)。
有關更好設計的任何建議?
展望未來。將更新它如何去。謝謝! – Avi 2013-04-28 14:31:26