gpt4 book ai didi

java - smartGWT 日期输入 validator

转载 作者:太空宇宙 更新时间:2023-11-04 06:47:27 29 4
gpt4 key购买 nike

我使用 DateTimeItem 作为开始日期和结束日期。我不希望用户能够选择无效日期,例如 13/44/2014:

第一张图片是有效日期的示例,第二张图片(下面的一张)是无效日期。

enter image description here

如何避免第二种情况发生?

最佳答案

尝试使用 CustomValidator .

示例代码:

final DateTimeItem dateTimeItem = new DateTimeItem();
final DateTimeFormat dateTimeFormat = DateTimeFormat.getFormat("MM/dd/yyyy");
final DateDisplayFormat dateDisplayFormat = DateDisplayFormat.TOUSSHORTDATE;

dateTimeItem.setDateFormatter(dateDisplayFormat);
dateTimeItem.setTitle("Date");
CustomValidator dateValidator = new CustomValidator() {

@Override
protected boolean condition(Object value) {
try {
// An exception is throws if an invalid date is entered
dateTimeFormat.format((Date) value);
} catch (Exception e) {
return false;
}
return true;
}

};
dateValidator.setErrorMessage("Invalid date");
dateTimeItem.setValidators(dateValidator);
dateTimeItem.setValidateOnChange(true);

快照:

enter image description here

<小时/>

或者尝试使用 ChangedHandler 。SmartGWT 论坛上也解决了同样的问题。

示例代码:

    final DateTimeItem dateTimeItem = new DateTimeItem();
dateTimeItem
.addChangedHandler(new ChangedHandler() {
@Override
public void onChanged(ChangedEvent event) {
try {
// An exception is throws if an invalid date is entered
dateTimeItem.getValueAsDate();
} catch (Exception e) {
SC.say("Invalid Date");
}
}
});
<小时/>

如果您正在寻找日期范围,请尝试使用 DateRangeItem允许用户通过两个 RelativeDateItem 选择日期的绝对或相对范围s(如果 allowRelativeDates 为 true)或两个 DateItem s。

示例代码:

    DateRangeItem dateRangeItem=new DateRangeItem();
dateRangeItem.setFromDate(fromDate);
dateRangeItem.setToDate(toDate);
dateRangeItem.setValue(new DateRange());

快照:

enter image description here

关于java - smartGWT 日期输入 validator ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23790741/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com