0

我有由 dd/mm/yyyy 格式的 Javascript 增强文本框生成的日期,当使用 asp:comparevalidator 验证时无法正确验证。

以下是相关代码:

<asp:CompareValidator ID="CompareValidator4" runat="server" 
                      ControlToValidate="txtEndDate" ValueToCompare="txtStartDate" 
                      Display="None" 
                      ErrorMessage="End Date should be greater than or equal to Start Date." 
                      Type="Date" Operator="GreaterThanEqual" SetFocusOnError="True">    
</asp:CompareValidator>

<strong>Start Date</strong><asp:TextBox ID="txtStartDate" runat="server" Width="215px" CssClass="textfield" Style="width: 176px; margin-left:5px;"></asp:TextBox>&nbsp;&nbsp;

<strong>End Date</strong><asp:TextBox ID="txtEndDate" runat="server" Width="215px" CssClass="textfield" Style="width: 176px;  margin-left:5px;"></asp:TextBox>&nbsp;&nbsp;

如果不清楚,我希望 txtStartDate 中的日期早于txtEndDate.

验证后,当验证失败时,我得到没有明显模式的乱码结果。任何人都可以看到有什么问题吗?

顺便说一句,我知道 html 有多糟糕 - 我正在编辑别人的代码。

4

1 回答 1

1

您可以将页面的文化更改为en-GB吗?

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" 
Inherits="_Default" Culture = "en-GB" %>

在这里找到。

更新您的验证器标记中有一个错误。如果您想将两个文本框日期相互比较,您必须提供ControlToValidateControlToCompare(而不是ValueToCompare

 <asp:CompareValidator ID="CompareValidator4" runat="server" 
    ControlToValidate="txtEndDate" 
    ControlToCompare="txtStartDate" 
    Type="Date" Operator="GreaterThanEqual"
    Display="None" ErrorMessage="End Date should be greater than or equal to Start Date." SetFocusOnError="True">
</asp:CompareValidator>
于 2013-03-21T12:12:02.017 回答