繁体   English   中英

比较Validator日期和时间

[英]CompareValidator date with time

我正在使用以下代码来确保我的文本框中输入了有效日期:

<asp:CompareValidator ID="cvStartDate" runat="server" Operator="DataTypeCheck" 
Type="Date" ControlToValidate="txtStartDate" ErrorMessage="Please enter the 
start date in the format of dd/MM/yyyy hh:mm"/>

但是,当我输入带有时间的日期时,验证失败。 有没有办法让这种类型的验证器也接受带时间的日期, 或者我是否必须为此构建自定义验证器? 如果我必须遵循自定义验证路线,您会提出什么建议?

@Prabu是正确的。 使用CustomValidator。

CompareValidator仅适用于日期,不适用于日期和时间。

protected void CustomValidator_Date(object source, ServerValidateEventArgs args)
    {
        IFormatProvider culture = new CultureInfo("en-AU", true);
        try
        {
            String[] formats = { "dd MM yyyy", "dd/MM/yyyy", "dd-MM-yyyy" };
            DateTime dt1;
            dt1 = DateTime.ParseExact(args.Value, formats, culture, DateTimeStyles.AdjustToUniversal);
            args.IsValid = true;
        }
        catch
        {
            args.IsValid = false;
        }
    }

最好使用自定义验证器来验证日期。为了避免用户输入日期和时间,

使用Ajax日历扩展器,并将readonly属性设置为true。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM