2010-07-26 17 views
5

Sto utilizzando RangeValidator per convalidare la data di inserimento nella casella di testo e il suo funzionamento corretto con il formato data predefinito ma ora voglio il formato della data in "gg/MM/aaaa" ma la sua generazione di exction con questo formato data. prego fornire una soluzione il mio codice:Formato data in RangeValidator

nella pagina 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 > 

in codebehind:

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"); 
} 

risposta

7

MinimumValue & MaximumValue necessario impostare in caso Page_PreRender e sembrano richiedere la data formato come "dd-MM-yy" ... vedi l'ultimo post su 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"); 
} 
2

Formato del MinimumValue e MaximumValue dovrebbe essere aaaa/MM/gg

Controllare la documentazione qui: https://msdn.microsoft.com/en-us/library/ydez7ad7(v=vs.110).aspx

+0

per l'applicazione che sto scrivendo io voglio il formato della data per essere 'MM/gg/yyyy' quindi dovrebbe essere quello che deve essere per la tua applicazione. E il tuo link è rotto – Malachi

+0

@Malachi: No. il MinimimValue dovrebbe sempre essere nel formato yyyy/MM/gg. Il validatore usa quel formato per convalidare. È indipendente dalla cultura. –

+0

Dove dice questo? l'articolo a cui ti sei collegato non dice nulla sugli intervalli di date. – Malachi