2013-06-26 60 views
0

「20-10-2013」​​(國際標準格式:二零一三年十月二十〇日「 )如預期RangeValidator控件不工作,RangeValidator控件會因無效的日期錯誤消息使用當我嘗試提交的具體日期的具體日期

<asp:TextBox ID="txtDataInicial" runat="server" Width="55px"></asp:TextBox> 
<asp:RangeValidator ID="rgvDtInicial" runat="server" ControlToValidate="txtDataInicial" 
    Display="Static" MinimumValue="01/01/1800" MaximumValue="31/12/9999" Type="Date" 
    ErrorMessage="A data inicial, deve ter o seguinte formato: DD/MM/AAAA" 
    ValidationGroup="Consultar"></asp:RangeValidator> 
<asp:Button ID="btnConsultar" runat="server" Style="width: 150px;" Text="Consultar" 
    OnClick="btnConsultar_Click" ValidationGroup="Consultar" /> 

它的工作原理像日期, 「19-10-2013」​​, 「21-10-2013」​​, 「20-10-2014」, 「20-10-2012」。

它只是發生在我提交此日期! 有誰知道爲什麼嗎?

回答

0

日期是文化依賴。聲明指定在web.config中或我你的文化n頁面指令或編程方式。

檢查了這一點:http://msdn.microsoft.com/en-us/library/bz9tc508(v=vs.100).aspx

+0

它的工作原理像日期, 「19-10-2013」​​, 「21-10-2013」​​, 「20-10-2014」,「20-10- 2012" 。並且文化設置正確 –

+0

我無法重現它。將其添加到RangeValidator:EnableClientScript =「false」。然後檢查btnConsultar_Click上的Page.IsValid屬性。當你輸入「20-10-2013」​​時,它會說什麼?如果它是「真」,則意味着客戶端驗證腳本有問題。 – Ilkka

0
  1. 控件的作用前端代碼 這是錯誤的罪魁禍首。確保cultureinvariantvalues設置爲false。

  2. 確保在代碼後面分配正確的最小&最大時間範圍。

  3. 這是爲了規範我們日期比較培養=「EN-GB」,其使用「日/月/年」獨立服務器定位設置。您可以使用「en-US」,格式將爲「mm-dd-yyyy」。

http://chinteongtan.blogspot.com/2014_04_01_archive.html