【问题标题】:Telerik RadDatePicker not picking up dates post year 2030Telerik RadDatePicker 未获取 2030 年后的日期
【发布时间】:2013-07-24 05:40:03
【问题描述】:

我在表单上使用 RadDatePicker 控件作为开始和结束日期输入控件。
我将“01/01/1980”作为最小日期,将“12/31/2049”作为最大日期。在日期文本框中手动输入日期时遇到问题。

场景 1: 我输入日期为 123129。RadPicker 正确地将其选为 12/31/2029 并显示格式化的日期值。
场景 2:我输入日期为 123130。我收到客户端验证警告。无论我输入什么日期和月份,它都会在大于 XX/XX/29 (2029) 的年份中每次冻结。
场景 3:我输入日期为 12312030 - 完整年份,而不是仅仅最后 2 位数字。 RadPicker 正确地将其选为 2030 年 12 月 31 日并显示格式化的日期值。

我也在ASP.NET Calendar Demo - DatePicker - First Look 上测试了所有 3 个场景。

我不确定为什么即使最大日期设置为 12/31/2049 也会启动验证。
请协助我解决此问题。

谢谢,
毗婆尸

【问题讨论】:

  • 我认为您在 Telerik DLL 中发现了一个错误。顺便说一句:您是否必须出于某种原因输入 MMDDYY 格式的日期,或者您只是想找到这种行为的原因?
  • @Andreaoid:当我彻底测试了 RadDatePicker 控件时,这是我最初的反应。关于输入格式,这是问题描述中提到的要求之一。我们的测试团队(意外地)发现输入不带“/”的日期也可以... :)
  • 是的,出于某种原因,即使范围小于 100 年,他们也不接受 MMDDYY……这肯定是检查过程中的错误。 :)
  • 我终于从他们那里得到了解决方案。根据 Telerik 专家的说法:遇到的问题是由于从 30 年及以上开始的年份被解析为 19XX 造成的。这意味着 123129 将被解析为 12/31/2029,而 123130 将被解析为 12/31/1930。现在这是一个无效的日期,因为 MinDate 属性的默认值为 1/1/1980。将 DateInput 的“ShortYearCenturyEnd”属性设置为 2099 可以解决该问题。 <telerik:RadDatePicker runat="server" ID="Picker1" MinDate="" DateInput-ShortYearCenturyEnd="2099"></telerik:RadDatePicker>
  • 好。我建议您发布自己的答案并接受以关闭问题。

标签: asp.net validation telerik date-formatting raddatepicker


【解决方案1】:

“从 30 年及以上开始的年份被解析为 19.. 就像你说 30th(year) 它会像 1930 一样得到它,123130 将被解析为 12/31/1930。这是无效的,因为默认值MinDate 的日期,即 1980 年 1 月 1 日。 为了解决这个问题,请将 DateInput 的 ShortYearCenturyEnd 属性设置为 2099。

希望我回答了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-20
    • 1970-01-01
    • 2021-12-05
    • 1970-01-01
    • 2012-07-14
    相关资源
    最近更新 更多