代码之家  ›  专栏  ›  技术社区  ›  John MacIntyre

如何对没有日期的时间使用CompareValidator?

  •  4
  • John MacIntyre  · 技术社区  · 17 年前

    进入启动控制,以及

    有人知道我可以用ASP。NET验证器用于没有日期的时间?

    Start <asp:TextBox ID="txtStart" runat="server" /> (hh:mm)
    <br />
    Finish <asp:TextBox ID="txtFinish" runat="server" /> (hh:mm)
    <br />
    <asp:CompareValidator
        id="cpvFinish"
        ControlToValidate="txtFinish"
        ControlToCompare="txtStart"
        Operator="GreaterThanEqual"
        Type="Date"
        Display="Static"
        EnableClientScript="true"
        ErrorMessage="Finish time must be later than the start time."
        runat="server" />
    

    PS——我知道我可以很容易地使用CustomValidator,这似乎是这个验证器应该能够处理的事情。

    3 回复  |  直到 17 年前
        1
  •  8
  •   John MacIntyre    17 年前

    正式记录在案;我使用了一个自定义验证器。

    编辑:这是我的自定义验证器代码,以防任何人(即alhambraeidos)需要它。请注意,此代码将我的示例控件名称(txtStart和txtFinish)替换为我的应用程序中的实际名称(txtReady和txtClose)。

    try
    {
        // parse & compare dates
        string randomDt = "01/01/2000 ";
        args.IsValid = DateTime.Parse(randomDt + txtClose.Text) > DateTime.Parse(randomDt + txtReady.Text);
    }
    catch(Exception /*ex*/)
    {
        // exception is assumed to be invalid times entered
        args.IsValid = false;
    }
    
        2
  •  0
  •   user434917 user434917    17 年前

        3
  •  0
  •   Tom    17 年前

    比较验证器允许的类型有: 双人间, 日期(无时间)

    推荐文章