代码之家  ›  专栏  ›  技术社区  ›  Art

日期时间选取器重置日期

  •  0
  • Art  · 技术社区  · 15 年前

    我正在使用澳大利亚日期格式设置(dd/mm/yyyy)的日期时间选取器

    问题是当用户输入一个月外的日期(mm)时,控件会将该日期重置为“1”。

    对于用户来说,这显然是一个非常令人困惑的障碍——首先输入月份,然后输入日期是不自然的[文化方面的]。

    是否有方法禁用此验证或将其推迟到控件失去焦点时?

    谢谢!

    2 回复  |  直到 15 年前
        1
  •  2
  •   o.k.w    15 年前

    我已经尝试过了,但是我看不到,我们可以通过DateTimePicker的属性在微验证时禁用它。

    当当前日期为“09/11/2009”(dd/mm/yyyy)并且用户希望从左到右通过键盘输入“31/12/2009”时,我知道您的沮丧。

    DateTimePicker 1 http://i33.tinypic.com/dbs9x2.png

    在“31”时,它将恢复为“1”,因为11月只有30天。如果输入“32”,则显示“2”。

    DateTimePicker2 http://i37.tinypic.com/o0uo7c.png

    它强制用户先输入月份,然后输入日期。即从右、左、远、右方向进入。

    我的建议是使用一种更通用的格式,例如YYYY-MM-DD,虽然它不遵循您的区域/文化格式,但用户(或澳大利亚朋友)仍然很容易理解。

        2
  •  0
  •   Tola Odejayi    15 年前

    另一个选项可能是实例化一个编辑控件并将其覆盖在日期时间选择器的编辑之上,然后使用该值设置日期时间选择器的值。当然,在进行设置之前需要进行一些验证;您还需要模拟日期时间选择器的编辑字段允许您分别选择日期、月份和年份的方式。