2013-04-04 62 views
1

我的要求是这样的。在asp.net中基于日期的验证

我需要维护一个假期列表。为此,我需要一些验证,同时保存/编辑条目。

我的数据库包含一个包含HolidayDate列的表。我有一个文本框(jQuery日期选择器)在页面中。如果我选择的日期已经保存到表格中,我应该显示一条警告消息。

任何人都可以尽快帮助我吗?提前致谢。 Aishvarya。

+1

你需要它可以同时拥有客户端和服务器功能被称为自定义的验证。当然,对于客户端来说,需要使用Ajax。 – Sunny 2013-04-04 07:57:39

+0

您需要在texbox的文本更改上使用服务器端代码。为此使用jquery ajax。 [链接](http://stackoverflow.com/questions/886903/calling-asp-net-server-side-method-via-jquery) – 2013-04-04 07:58:39

+1

也许你可以提供一些更多的细节?你想做这个服务器端还是客户端?你想做一个回传或通过AJAX做到这一点? – 2013-04-04 07:59:14

回答

0

试试这个:

<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> 

而且更多有关RangeValidator控件的位置: http://msdn.microsoft.com/en-us/library/f70d09xt(v=vs.71).aspx

样品: http://www.w3schools.com/aspnet/showasp.asp?filename=demo_rangevalidator

最简单的服务器端验证方式:

后面的代码:

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 
    } 
} 

形式:

<asp:TextBox ID="DatePicker" runat="server"></asp:TextBox> 
<asp:Button ID="Button1" runat="server" Text="Button" onclick="Button1_Click" /> 

jQuery验证样本:

<!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> 
+0

我只用于显示警报消息的JavaScript函数。函数重定向(opt)如果(opt ==“validate”){ alert(“Holiday已输入此日期...!选择另一个日期”); } shouldsubmit = true; window.location.assign(“SetHolidays.aspx”); } – MusicLovingIndianGirl 2013-04-04 08:46:35

+0

我的服务器端代码保存。 '昏暗dsGetHolDetails = dbl.usp_GetHolidaysForView()。CopyToDataTable' '视图状态( “HolidayDetails”)= dsGetHolDetails' '昏暗dtHols作为新DataTable' 'dtHols = CTYPE(视图状态( “HolidayDetails”),数据表)'' 对于i = 0到dtHols.Rows.Count - 1' '虽然dtHols.Rows(i)(2).ToString = txtHolidayDate.Text' 'Dim script As String = String.Format(“Redirect('{0} ')“,”validate“)' 'ScriptManager.RegisterClientScriptBlock(Me,GetType(Page),UniqueID,script,True)' – MusicLovingIndianGirl 2013-04-04 08:51:46

+0

您应该为您的帖子添加标签”VB“ – 2013-04-04 09:02:17