0

基本上,这是我输入出生日期的代码。

<asp:TextBox Width="208px" ID="txtDOB" runat="server"></asp:TextBox>
<asp:RequiredFieldValidator ID="reqDOB" runat="server" ControlToValidate="txtDOB" ErrorMessage="Cannot be blank" Display="Dynamic"></asp:RequiredFieldValidator>
<asp:CompareValidator ErrorMessage="(MM/DD/YYYY)" Display="Dynamic" ID="valcDate" ControlToValidate="txtDOB" Operator="DataTypeCheck" Type="Date" runat="server"> </asp:CompareValidator>
<asp:RangeValidator ID="valrDate" runat="server" ControlToValidate="txtDOB" MinimumValue="01/01/1800" MaximumValue="01/01/2100" Type="Date" text="Invalid Date" Display="Dynamic"/> </asp:RangeValidator>

所以现在我想覆盖从mm-dd-yyyyto的基本格式dd-mm-yyyy。有什么基本的方法吗?

4

2 回答 2

0

在 c# 中,您可以像这样自定义格式:-

DateTime.Now.ToString("dd/MM/yyyy")));
于 2012-09-13T07:24:22.783 回答
0

我相信验证器控件具有文化意识,因此最简单的解决方案是设置适当的文化(例如 en-GB)。一个简单的方法是:

<system.web>
    ...
    <globalization culture="en-GB" />
    ...
<system.web>

当然,您的错误信息也需要适应所选的文化。例如,您可能希望将错误消息设置为:

"(" + Thread.CurrentThread.CurrentCulture.DateTimeFormat.ShortDatePattern.ToUpper() + ")"
于 2012-09-13T08:08:04.173 回答