private DateTime BirthDate(string txtIdCard)
{
try
{
if (txtIdCard.Length == 15)
{
return new DateTime(int.Parse("19" + txtIdCard.Substring(7, 2)), int.Parse(txtIdCard.Substring(9, 2)), int.Parse(txtIdCard.Substring(11, 2)));
}
else if (txtIdCard.Length == 18)
{
return new DateTime(int.Parse(txtIdCard.Substring(6, 4)), int.Parse(txtIdCard.Substring(10, 2)), int.Parse(txtIdCard.Substring(12, 2)));
}
else
return DateTime.MinValue;
}
catch { return DateTime.MinValue; }
}
protected void CVIdCard_ServerValidate(object source, ServerValidateEventArgs args)
{
if (BirthDate(args.Value) == DateTime.MinValue)
{
args.IsValid = false;
CVIdCard.ErrorMessage = "有误!";
}
}
这个是验证身份证号码的判断,这个验证要必须输入身份证号码,即txtIdCard必须输入数字,我现在想文本框txtIdCard为空也行,即有的人没有身份证那就不验证,怎么做啊??主要是允许文本框为空,多谢指教~~
{
try
{
if (txtIdCard.Length == 15)
{
return new DateTime(int.Parse("19" + txtIdCard.Substring(7, 2)), int.Parse(txtIdCard.Substring(9, 2)), int.Parse(txtIdCard.Substring(11, 2)));
}
else if (txtIdCard.Length == 18)
{
return new DateTime(int.Parse(txtIdCard.Substring(6, 4)), int.Parse(txtIdCard.Substring(10, 2)), int.Parse(txtIdCard.Substring(12, 2)));
}
else
return DateTime.MinValue;
}
catch { return DateTime.MinValue; }
}
protected void CVIdCard_ServerValidate(object source, ServerValidateEventArgs args)
{
if (BirthDate(args.Value) == DateTime.MinValue)
{
args.IsValid = false;
CVIdCard.ErrorMessage = "有误!";
}
}
这个是验证身份证号码的判断,这个验证要必须输入身份证号码,即txtIdCard必须输入数字,我现在想文本框txtIdCard为空也行,即有的人没有身份证那就不验证,怎么做啊??主要是允许文本框为空,多谢指教~~
能不能在这里帮修改一下啊??
protected void CVIdCard_ServerValidate(object source, ServerValidateEventArgs args)
{
if (BirthDate(args.Value) == DateTime.MinValue)
{
args.IsValid = false;
CVIdCard.ErrorMessage = "有误!"; //希望在这里加判断,即接收来的为空也可以通过 }
}
BirthDate()在上面~~为取得出生年月,望指教~~