【发布时间】:2013-08-11 22:03:17
【问题描述】:
如何为 UIComponent 属性创建自定义数据类型?
示例:假设一个人有一个UIInputDate(一个UIInput)并且有一个属性Date maxDate,我将如何确保输入的任何maxDate 将始终返回Date?
【问题讨论】:
-
您的意思是,您要验证最终用户(特别是使用您的自定义组件的开发人员)指定的属性值?
-
不是真的!我的自定义组件接受
minDate和maxDate。我想要这样,无论 Java 中的日期格式如何,我都可以验证(用户)输入的值是否与开发人员指定的minDate和maxDate匹配。 -
嗯,我了解到您询问如何验证开发人员是否指定了
java.util.Date而不是例如java.lang.String为maxDate。无论如何,答案很简单,使用验证器(您可以在组件的构造函数中添加一个)。但是,我仍然觉得你的问题令人困惑。 -
哦,抱歉,我曾想过使用 String 作为属性类型,但要满足所有 RFC3339 日期格式的要求,这很具有挑战性。所以,我决定使用
Date作为属性类型。问题是开发人员如何将日期值设置为这些属性,并在以后的验证和转换中使用它?组件的值,我可以用转换器,那不是问题,是附加属性。