我有一个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