自定义日期验证格式

时间:2010-06-30 06:53:08

标签: c# .net asp.net

使用C#

C#代码

protected void cusCustom_ServerValidate(object sender, ServerValidateEventArgs e)
{
    if(e.Value.Length == 8)
        e.IsValid = true;
    else
        e.IsValid = false;
}

网页代码

<asp:CustomValidator runat="server" id="cusCustom" controltovalidate="txtoedate" onservervalidate="cusCustom_ServerValidate" errormessage="The text must be exactly 8 characters long!" />

上面的代码工作的长度,但我想检查这样的日期格式 “yyyy-mm-dd”,用于检查此日期格式,如何更改我的代码。

需要代码帮助

3 个答案:

答案 0 :(得分:3)

首先,您的日期格式不是8个字符,因此您需要将其修复为10.然后,您最好的选择是DateTime.TryParseExact,其中包含您要验证的特定格式。

DateTime value;
e.IsValid = DateTime.TryParseExact(e.Value, "yyyy-MM-dd",
    CultureInfo.InvariantCulture, DateTimeStyles.None, out value);

您可以使用InvariantCulture,因为您只处理日期部分的数字表示并准确指定格式。

答案 1 :(得分:0)

答案 2 :(得分:0)

尝试日期的正则表达式