首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >验证两个日期的CompareValidator

验证两个日期的CompareValidator
EN

Stack Overflow用户
提问于 2013-08-11 07:06:21
回答 4查看 10.3K关注 0票数 1

嗨,我有以下格式的日期格式,dd-MMM-yy,我使用比较验证器来验证日期,如下所示

代码语言:javascript
复制
<asp:CompareValidator ID="cmpDates" runat="server" ControlToValidate="StartDate"
                      SetFocusOnError="true" ControlToCompare="EndDate"
                      ErrorMessage="EndDate must be greater than StartDate"
                      Display="None" Operator="DataTypeCheck"
                      ValidationGroup="vg" Type="Date"                           
                      CultureInvariantValues="true">
</asp:CompareValidator>

但这不是按要求工作的,所以有人可以帮助我如何以所需的格式验证日期?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-08-11 07:20:02

尝试一下,这里我们使用Ajax calander控件获得dd/mm/yyyy格式的输入,然后使用比较验证器

代码语言:javascript
复制
 <asp:TextBox ID="txtStart" runat="server"></asp:TextBox>
            <cc1:CalendarExtender ID="txtStart_CalendarExtender" runat="server" 
                Enabled="True" TargetControlID="txtStart">
            </cc1:CalendarExtender>
            <asp:CompareValidator ID="CompareValidator1" runat="server" 
                ControlToCompare="txtEnd" ControlToValidate="txtStart" 
                ErrorMessage="CompareValidator"></asp:CompareValidator>

        </div>
        <p>
            <asp:TextBox ID="txtEnd" runat="server"></asp:TextBox>
            <cc1:CalendarExtender ID="txtEnd_CalendarExtender" runat="server" 
                Enabled="True" TargetControlID="txtEnd">
            </cc1:CalendarExtender>
        </p>
        <asp:Button ID="Button1" runat="server" Text="Button" />
        <asp:ScriptManager ID="ScriptManager1" runat="server">
        </asp:ScriptManager>
票数 2
EN

Stack Overflow用户

发布于 2013-08-11 10:28:53

像这样删除代码

代码语言:javascript
复制
<asp:CompareValidator ID="cmpDates" runat="server" ControlToValidate="StartDate"
                  SetFocusOnError="true" ControlToCompare="EndDate"
                  ErrorMessage="EndDate must be greater than StartDate"
                  Operator="LessThan"
                  ValidationGroup="vg" Type="Date"                           
                  CultureInvariantValues="true"></asp:CompareValidator>
票数 1
EN

Stack Overflow用户

发布于 2016-01-12 05:53:08

默认情况下,CompareValidator不适用于dd/mm/yyyy格式,因此需要在ASP.Net Web Page的页指令中显式地将页的Culture属性更改为en-GB,或者可以将其添加到webconfig中。

页面级别

代码语言:javascript
复制
<%@ Page Language="C#" 
    AutoEventWireup="true" 
    CodeFile="Default.aspx.cs" 
    Inherits="_Default" 
    Culture = "en-GB" %>

Webconfig

代码语言:javascript
复制
<globalization requestEncoding="utf-8" 
  responseEncoding="utf-8"
  culture="en-GB" 
 uiCulture="en-GB" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18169609

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档