in un textbox devo inserire una data. Vorrei validare così:
deve essere una data e deve essere >= della data odierna, inoltre non può essere vuoto :master:
Qualcuno può aiutarmi?![]()
![]()
in un textbox devo inserire una data. Vorrei validare così:
deve essere una data e deve essere >= della data odierna, inoltre non può essere vuoto :master:
Qualcuno può aiutarmi?![]()
![]()
Pietro
Perché il campo non sia vuoto è sufficiente in requiredFieldValidator, per controllare che sia data è sufficiente un compareValidator:Perché essa sia maggiore di quella attuale:codice:<asp:CompareValidator ID="CompareValidator1" Runat="server" ErrorMessage="Dev'essere una data!" ControlToValidate="TextBox1" Operator="DataTypeCheck" Type="Date"> *</asp:CompareValidator>Quindi nel Page_Load:codice:<asp:RangeValidator ID="RangeValidator1" Runat="server" ErrorMessage="Maggiore di oggi!" ControlToValidate="TextBox1" Type="Date">* </asp:RangeValidator>Se il 2060 è troppo poco puoi sempre aumentare...codice:RangeValidator1.MinimumValue = DateTime.Now.ToShortDateString(); RangeValidator1.MaximumValue = "31/12/2060";
Ciao![]()
AZ [Microsoft - .NET MVP]
Mia Home page: http://ciclismo.sitiasp.it
Asp.Net community: http://www.aspitalia.com
Il mio blog: http://blogs.aspitalia.com/az
Non sgongolareOriginariamente inviato da AndreaZani
Perché il campo non sia vuoto è sufficiente in requiredFieldValidator, per controllare che sia data è sufficiente un compareValidator:Perché essa sia maggiore di quella attuale:codice:<asp:CompareValidator ID="CompareValidator1" Runat="server" ErrorMessage="Dev'essere una data!" ControlToValidate="TextBox1" Operator="DataTypeCheck" Type="Date"> *</asp:CompareValidator>Quindi nel Page_Load:codice:<asp:RangeValidator ID="RangeValidator1" Runat="server" ErrorMessage="Maggiore di oggi!" ControlToValidate="TextBox1" Type="Date">* </asp:RangeValidator>Se il 2060 è troppo poco puoi sempre aumentare...codice:RangeValidator1.MinimumValue = DateTime.Now.ToShortDateString(); RangeValidator1.MaximumValue = "31/12/2060";
Ciao![]()
perchè non funziona
:rollo: :maLOL:
Se inserisci per esempio nel textbox, 15/3/99, viene considarata una data valida, ma non inferiore al 24/12/2004. Ti risulta che sia giusto?![]()
Ho risolto in javascript![]()
ciao![]()
Pietro
questa è per validare una data:
asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ControlToValidate="txtData" Display="Dynamic"
ErrorMessage="Inserire la data nel formato gg/mm/yyyy" ValidationExpression="^(??:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?
?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?
?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?
?
?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?
?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?
?:0?[1-9])|(?:1[0-2]))\4(?
?:1[6-9]|[2-9]\d)?\d{2})$"></asp:RegularExpressionValidator>
per il tuo problema metti un textbox nascosto con la data odierna caricata a runtime. Poi inserisci una regular di tipo COMPARE e per non essere vuota metti il requestvalidator
te lo quoto disabilitando le faccine altrimenti non si capisceOriginariamente inviato da Daniele80
questa è per validare una data:
asp:RegularExpressionValidator id="RegularExpressionValidator1" runat="server" ControlToValidate="txtData" Display="Dynamic"
ErrorMessage="Inserire la data nel formato gg/mm/yyyy" ValidationExpression="^(?:(?:31(\/|-|\.)(?:0?[13578]|1[02]))\1|(?:(?:29|30)(\/|-|\.)(?:0?[1,3-9]|1[0-2])\2))(?:(?:1[6-9]|[2-9]\d)?\d{2})$|^(?:29(\/|-|\.)0?2\3(?:(?:(?:1[6-9]|[2-9]\d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1\d|2[0-8])(\/|-|\.)(?:(?:0?[1-9])|(?:1[0-2]))\4(?:(?:1[6-9]|[2-9]\d)?\d{2})$"></asp:RegularExpressionValidator>
per il tuo problema metti un textbox nascosto con la data odierna caricata a runtime. Poi inserisci una regular di tipo COMPARE e per non essere vuota metti il requestvalidator
Una domanda ad AndreaZani (e a chiunque sappia).
Vorrei passare da windows2000 ad Xp professional. Però non mi funziona Interdev con Vss. Avete qualche notizia o link su questo problema? :master:
![]()
Pietro
Butta il tuo server, funziona perfettamente!Originariamente inviato da pietro09
Non sgongolareperchè non funziona
:rollo: :maLOL:
![]()
Ciao![]()
AZ [Microsoft - .NET MVP]
Mia Home page: http://ciclismo.sitiasp.it
Asp.Net community: http://www.aspitalia.com
Il mio blog: http://blogs.aspitalia.com/az
Ma, perchè dovrei buttare il mio server, dato che, come dici, funziona perfettamenteOriginariamente inviato da AndreaZani
Butta il tuo server, funziona perfettamente!![]()
Ciao![]()
![]()
Ho fatto questa paginetta, seguendo i tuoi consigli.
Ebbene, se metto 1/1/99, non viene intercettato nessun errore, invece, se metto 1/1/1999, riconosce che 1/1/1999 è < di 25/12/2004codice:<%@ Page language="c#" Codebehind="WebForm3.aspx.cs" AutoEventWireup="false" Inherits="prova_web_c_charp.WebForm3" %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <HTML> <HEAD> <title>WebForm3</title> <meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1"> <meta name="CODE_LANGUAGE" Content="C#"> <meta name="vs_defaultClientScript" content="JavaScript"> <meta name="vs_targetSchema" content="http://schemas.microsoft.com/intellisense/ie5"> <LINK href="Styles.css" type="text/css" rel="stylesheet"> </HEAD> <body MS_POSITIONING="FlowLayout"> <form id="Form1" method="post" runat="server"> <asp:TextBox id="TextBox1" runat="server"></asp:TextBox> <asp:Button id="Button1" runat="server" Text="Button"></asp:Button></P> <asp:RequiredFieldValidator id="RequiredFieldValidator1" runat="server" ErrorMessage="Il campo è obbligatorio" ControlToValidate="TextBox1"></asp:RequiredFieldValidator></P> <asp:CompareValidator id="CompareValidator1" runat="server" ErrorMessage="La data non è valida" ControlToValidate="TextBox1" Operator="DataTypeCheck" Type="Date"></asp:CompareValidator></P> <asp:RangeValidator id="RangeValidator1" runat="server" ErrorMessage="La data non può essere antecedente alla data odierna" ControlToValidate="TextBox1" Type="Date" MaximumValue="31/12/3000" MinimumValue="25/12/2004"></asp:RangeValidator></P> </form> </body> </HTML>
Adesso, concesso e non ammesso, che in un server messo in azoto liquido (dalle tue parti, credo) funzioni :master: la cosa non mi convince. Da quando in qua javascript è temperatura-dipendente?
![]()
Ciao![]()
Pietro
Testata anche ora (bel modo di passare il Natale!) e funziona. Ti riporto qui sotto il codice utile:
Mi hai fatto venire il dubbio sulla temperatua... che per il freddo il mio server beva qualcosa di alcolico di troppo?codice:<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server"> void Page_Load() { RangeValidator1.MinimumValue = DateTime.Now.ToShortDateString(); RangeValidator1.MaximumValue = "31/12/2060"; } void Button1_Click(object sender, EventArgs e) { if (Page.IsValid) { Label1.Text = TextBox1.Text; } } </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>Untitled Page</title> </head> <body> <form id="form1" runat="server"> <div> <asp:TextBox ID="TextBox1" Runat="server">21/12/2004</asp:TextBox> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" Runat="server" ErrorMessage="Inserisci la data" ControlToValidate="TextBox1"> *</asp:RequiredFieldValidator> <asp:CompareValidator ID="CompareValidator1" Runat="server" ErrorMessage="Dev'essere una data!" ControlToValidate="TextBox1" Operator="DataTypeCheck" Type="Date"> *</asp:CompareValidator> <asp:RangeValidator ID="RangeValidator1" Runat="server" ErrorMessage="RangeValidator" ControlToValidate="TextBox1" Type="Date"> </asp:RangeValidator> <asp:Button ID="Button1" Runat="server" Text="Controlla" OnClick="Button1_Click" /> <asp:Label ID="Label1" Runat="server"></asp:Label> <asp:ValidationSummary ID="ValidationSummary1" Runat="server" ShowMessageBox="True" ShowSummary="False" /> </div> </form> </body> </html>
Ciao![]()
AZ [Microsoft - .NET MVP]
Mia Home page: http://ciclismo.sitiasp.it
Asp.Net community: http://www.aspitalia.com
Il mio blog: http://blogs.aspitalia.com/az