Try this:
<asp:TextBox ID="DateControl" runat="server"></asp:TextBox>
<asp:RangeValidator ID ="DateValidator" runat ="server" ControlToValidate="DateControl" ErrorMessage="Invalid Date" Type="Date" MinimumValue="01/01/1900" MaximumValue="01/01/2100" Display="Dynamic"></asp:RangeValidator>
Also more information about RangeValidator here:
http://msdn.microsoft.com/en-us/library/f70d09xt(v=vs.71).aspx
Sample:
http://www.w3schools.com/aspnet/showasp.asp?filename=demo_rangevalidator
Simplest way of server-side validation:
code behind:
protected void Button1_Click(object sender, EventArgs e)
{
     DateTime result;
     if (DateTime.TryParse(DatePicker.Text, out result))
     {
           //handle results
     }
     else
     {
           // e.g. highlight DatePicker or handle error
     }
 }
Form: 
<asp:TextBox ID="DatePicker" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" />
Jquery validation sample:
<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8" />
  <title>jQuery UI Datepicker - Default functionality</title>
  <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.2/themes/smoothness/jquery-ui.css" />
  <script src="http://code.jquery.com/jquery-1.9.1.js"></script>
  <script src="http://code.jquery.com/ui/1.10.2/jquery-ui.js"></script>
  <link rel="stylesheet" href="/resources/demos/style.css" />
  <script>
  $(function() {
    $( "#datepicker" ).datepicker({minDate: new Date(2013, 0, 01),maxDate: new Date(2013, 04, 01), dateFormat: "yyyy/mm/dd"});
  }); <!-- select only date from 1 jan 2013 to 1 may 2013 --!>
  </script>
</head>
<body>
<p>Date: <input type="text" id="datepicker" /></p>
</body>
</html>