我几乎完成了一个动态构建字段并使用正则表达式设置数据类型验证的页面,但在周五我开始将字段绑定到实际数据类型而不仅仅是字符串时遇到了一个问题。问题在于与日期(java.util.Date)相关的值!
在测试页面和验证时,我正在使用日期填充日期字段,例如 2012 年 12 月 12 日。当它到达验证方法时,它显示为 Tue Dec 11 19:00:00 EST 2012。显示的日期总是提前一天 @ 19:00:00 并且格式完全不同。
我该怎么做才能以我指定的格式发送日期?
...还...
关于为什么日期值也不正确的任何想法?
在页面上构建日期字段:
<h:inputText id="inputField2" tabindex="#{field.fieldDefinition.fieldOrder}" value="#{field.val}" validator="#{field.fieldDefinition.validate}" validatorMessage="#{field.fieldDefinition.validationMessage}">
<f:convertDateTime pattern="MM/dd/yyyy" />
</h:inputText>
被调用的验证方法:
public void validate(FacesContext context, UIComponent component, Object value) throws ValidatorException {
if (getDataType() != null && getDataType().getValidationExpression() != "") {
regexValidator = new RegexValidator();
regexValidator.setPattern(getDataType().getValidationExpression());
regexValidator.validate(context, component, value);
}
}
一如既往...感谢您的帮助。
问候,
麦克风