当我尝试提交特定日期“20-10-2013”(国际格式:2013-10-20“)时,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 :(得分:0)
日期是文化依赖的。在web.config或Page指令中以编程方式声明性地指定您的文化。
检查出来:http://msdn.microsoft.com/en-us/library/bz9tc508(v=vs.100).aspx
答案 1 :(得分:0)
Rangevalidator控制前端代码 这是错误的罪魁祸首。确保将cultureinvariantvalues设置为false。
确保指定正确的最小值和最小值。代码背后的最大日期范围。
这是为了将我们的日期比较标准化为culture =&#34; en-GB&#34;使用&#34; dd / mm / yyyy&#34;独立于服务器本地化设置。您可以使用&#34; en-US&#34;格式为&#34; mm-dd-yyyy&#34;。