Validation Wicket DateTime字段日/月/年日期验证
我有一个Validation Wicket DateTime字段日/月/年日期验证,validation,date,datepicker,wicket,date-format,Validation,Date,Datepicker,Wicket,Date Format,我有一个datetime字段,我试图根据用户的偏好允许两种格式:MM/dd/yy或dd/MM/yy。当用户单击DatePicker并选择日期时,我能够在DateTextField中以正确的格式显示日期。但是,当我尝试提交表单时,会收到“'date'不是有效日期”警报,这是日期时间字段的默认警报。是否有一种方法可以设置,不仅仅是日期模式,还有验证模式?正如其他帖子所提到的,我已经尝试实现了我自己的IValidator和IConverter,但我没有运气 下面是我如何更改拾取日期在DateTextF
datetime字段
,我试图根据用户的偏好允许两种格式:MM/dd/yy
或dd/MM/yy
。当用户单击DatePicker
并选择日期时,我能够在DateTextField
中以正确的格式显示日期。但是,当我尝试提交表单时,会收到“'date'不是有效日期”
警报,这是日期时间字段的默认警报。是否有一种方法可以设置,不仅仅是日期模式,还有验证模式?正如其他帖子所提到的,我已经尝试实现了我自己的IValidator
和IConverter
,但我没有运气
下面是我如何更改拾取日期在DateTextField
中显示方式的代码:
DateTimeField fromDate = new DateTimeField("fromDate") {
private static final long serialVersionUID = 1L;
@Override
protected DatePicker newDatePicker() {
DatePicker datePicker = new DatePicker(){
private static final long serialVersionUID = 1L;
@Override
protected String getDatePattern() {
return ((String) getSession()
.getAttribute("dateFormat")).replace("yyyy", "yy");
}
};
return datePicker;
}
应将dateTextField与自定义转换器一起使用:
new DateTimeField(..) {
protected DateTextField newDateTextField(String id, PropertyModel<Date> dateFieldModel)
{
return new DateTextField(id, model, yourCustomConverter);
}
}
newdatetimefield(..){
受保护的DateTextField newDateTextField(字符串id,PropertyModel dateFieldModel)
{
返回新的DateTextField(id、型号、自定义转换器);
}
}
感谢您的快速回复!实际上我也在这样做,但没有在新的DateTextField中包含属性模型。我犯了愚蠢的错误。这让我困惑了好一阵子!非常感谢!