2014-09-03 53 views
0

我有一個文本框,我認爲它是通過CssClass引用Jquery.ui.datepicker.css? :如何使用Jquery.ui.datepicker.css驗證出生日期和已故文本框的日期

文本框1-出生日期(其中所有的驗證發生):

<asp:TextBox runat="server" ID="txtDOB" CssClass="small date"></asp:TextBox> 

文本框的2-日期的死者(其中數據需要從驗證拉到發生):

<asp:TextBox runat="server" ID="txtDOD" CssClass="small date"></asp:TextBox> 

我不熟悉jquery,但一直在嘗試使用C#編程這兩個文本框是可能的嗎?

我也不熟悉這個類jquery.ui.datepicker.css它來自哪裏?它是如何被完全引用的?爲什麼選擇這個你的典型的asp.net控件?

如果不是我怎麼能寫jQuery表達式(我需要正則表達式?),這將完成要求?

我試圖完成滿足這些要求: 它不可能是未來的日期,並且必須小於死亡日期,並且必須至少在18年前。

感謝您提供任何指導。

回答

0

jQuery UI Date Picker只是將一個日期選擇器添加到文本框中。當你點擊文本框時,會出現一個小日曆,你可以選擇你想要的日期。在某些情況下,它比輸入日期更容易。但是,這可能與您的問題無關。

您需要驗證服務器端的數據以確保您沒有收到錯誤的數據,但最好在客戶端進行驗證以避免往返服務器。你需要做的是(服務器和客戶機上)...什麼

  1. 得到控制生育的日期值
  2. 獲取死者控制的日期值
  3. 比較值
  4. 如果它們沒有意義,請向用戶提供一條錯誤消息,告訴他們糾正問題。

服務器端例如:

DateTime dob=DateTime.Parse(txtDOB.Text); //consider using an overloaded method to account for different date formats. 
DateTime dod=DateTime.Parse(txtDOD.Text); //consider using an overloaded method to account for different date formats. 
if(dob>dod) 
{ 
    //provide error message to the client 
} 

理想的情況下,該客戶端邏輯應該在模型層發生,返回某種驗證摘要對象的UI層,它的UI層則負責弄清楚如何將其顯示給客戶端。

我會將客戶端示例留給其他人。請注意,您需要將ClientIdMode設置爲靜態,以便在控件中獲得正確的ID。