Формат даты в RangeValidator - PullRequest
5 голосов
/ 26 июля 2010

Я использую RangeValidator для проверки ввода даты в текстовом поле, и он работает нормально с форматом даты по умолчанию, но теперь я хочу формат даты в «дд / мм / гггг», но генерируется исключение с этим форматом даты. пожалуйста, предоставьте мне решение мой код:

на странице aspx:

<asp:TextBox ID="txtrequiredby" runat="server" ></asp:TextBox >
<cc1:CalendarExtender ID="txtrequiredby_CalendarExtender" Format="dd/MM/yyyy"
runat="server" Enabled="True" TargetControlID="txtrequiredby" >
</cc1:CalendarExtender >

 <asp:RangeValidator ID="rvreqby" runat="server" ErrorMessage="Required By Date
Greater Than or Equal to current date" ControlToValidate="txtrequiredby" 
 Display="Dynamic" Type="Date" ></asp:RangeValidator >

в коде позади:

rvreqby.MinimumValue = clsGeneral.FromSqlDate( DateTime.Now);
rvreqby.MaximumValue = clsGeneral.FromSqlDate( DateTime.Now.AddYears(200));

public static string  FromSqlDate(DateTime  date)
{
   return date.ToString("dd/MM/yyyy");
}

Ответы [ 2 ]

7 голосов
/ 27 июля 2010

MinimumValue и MaximumValue должны быть установлены в событии Page_PreRender и, по-видимому, требуют формат даты как "dd-MM-yy" ... см. Последнее сообщение о Rangevalidator Min Max Value error

protected void Page_PreRender(object sender, EventArgs e)
{
    RangeValidator1.MinimumValue = DateTime.Now.Date.ToString("dd-MM-yy");
    RangeValidator1.MaximumValue = DateTime.Now.Date.AddYears(90).ToString("dd-MM-yy");
}
3 голосов
/ 05 января 2015

Формат MinimumValue и MaximumValue должен быть гггг / мм / дд

Проверьте документацию здесь: https://msdn.microsoft.com/en-us/library/ydez7ad7(v=vs.110).aspx

...