日期验证

时间:2010-01-30 19:32:29

标签: asp.net

任何人都可以告诉我以注册形式验证日期字段的代码(shd也验证了每个月的闰年和没有天数

2 个答案:

答案 0 :(得分:2)

这取决于输入,但假设你有整个日期的字符串输入,那么你可以尝试类似的东西:

try
{
     DateTime parsedDate = DateTime.Parse(incomingDateString);
}
catch
{
     throw new Exception("Incoming Date string could not be parsed as a DateTime");
}

或者,如果您有三个整数作为字符串从表单进入,那么您将使用

替换DateTime.Parse
     DateTime parsedDate = new DateTime(Int32.Parse(yearString), Int32.Parse(MonthString), Int32.Parse(DayString));

并允许DateTime构造函数处理分析日期和闰年的详细信息。您可能更复杂并使用Int32.TryParse并提供更具体的错误消息并检查空字符串(如果这就是您需要的。)

答案 1 :(得分:1)

您可以通过添加日历控件或日期选择器控件来确保获得有效日期。这样可以避免为了验证此字段而添加额外的验证。

如果您不想使用日历控件或日期选择器,可以使用DateTime.Parse并将其放在Try,Catch块中。

dateString = YourDateField.Text; 
      try {
         dateValue = DateTime.Parse(dateString);
      }   
      catch (FormatException) {
         Console.WriteLine("Unable to convert, this is not a valid date '{0}'.", dateString);
      }

希望这有帮助。