Data di inizio – Data Fine convalida utilizzando Confrontare Validatore fa cilecca

Ho bisogno che la mia data di fine per essere sempre maggiore della data di partenza, ho cercato di convalida utilizzando CompareValidator.

Codice è il seguente:

Ho una casella di testo data di inizio

<asp:TextBox ID="TxtStartDate"
             runat="server" />

<asp:CalendarExtender Enabled="True"
                      ID="TxtStartDate_CalendarExtender"
                      TargetControlID="TxtStartDate"
                      runat="server" />

Un’altra casella di testo la data di Fine.

<asp:TextBox ID="TxtEndDate"
             runat="server" />

<asp:CalendarExtender Enabled="True"
                      ID="TxtEndDate_CalendarExtender"
                      TargetControlID="TxtEndDate"
                      runat="server" />

<asp:CompareValidator ControlToCompare="TxtStartDate"
                      ControlToValidate="TxtEndDate"
                      Display="Dynamic"
                      ErrorMessage="CompareValidator"
                      ID="CompareValidator1"
                      Operator="GreaterThan"
                      Type="Date"
                      runat="server" />

Ma il confronto field validator fa cilecca.

Per esempio, quando la data di inizio è 2/04/2012 e la data di fine è 10/04/2012 è incendi.

Spero che questo vi aiuterà a stackoverflow.com/questions/9735836/…

OriginaleL’autore SleepyLord | 2012-04-16

3 Replies
  1. 10

    Semplicemente si può provare come questo

    <asp:CompareValidator ID="cmpVal1" ControlToCompare="txtStartDate" 
             ControlToValidate="txtEndDate" Type="Date" Operator="GreaterThanEqual"   
             ErrorMessage="*Invalid Data" runat="server"></asp:CompareValidator>
    sì shanish….funziona, ma solo per la data in formato “MM/dd/yyyy”…
    probabilmente il thread della Cultura e della lingua dell’interfaccia utente non sono impostate (o non è impostato correttamente).

    OriginaleL’autore shanish

  2. 3

    Questo è corretto.. È risolto il mio problema.

    <asp:CompareValidator ID="cmpVal1" ControlToCompare="txtStartDate" ControlToValidate="txtEndDate" Type="Date" Operator="GreaterThanEqual"  ErrorMessage="ToDate should be greater than FromDate" runat="server"></asp:CompareValidator>

    E non dimenticate di scrivere:

    cmpVal1.Validate() 

    nel caso in cui il confronto si verifica.

    OriginaleL’autore Rohini

  3. 0

    DATA DI INIZIO E DATA DI FINE (A) CONVALIDA UTILIZZANDO JAVASCRIPT

    Si preoccupano
    Dalla data e All’avanguardia, deve essere inferiore a data di oggi(Datacorrente).
    Dalla data deve essere inferiore A data.

    Casella di testo

    <asp:TextBox ID="txtFromDate" runat="server" onChange="javascript: txtFromDateChanged(this)"></asp:TextBox>
    <asp:TextBox ID="txtToDate" runat="server" onChange="javascript: txtToDateChanged(this);" ></asp:TextBox>

    java script(Mettere il blocco di Script nella Sezione Head)

    <script type="text/javascript">
    
            function txtToDateChanged(sender, args) {
                var date = new Date();
                var startDate = Date.parse(document.getElementById('<%= txtFromDate.ClientID %>').value);
                var endDate = Date.parse(document.getElementById('<%= txtToDate.ClientID %>').value);
                var timeDiff = endDate - startDate;
                var daysDiff = Math.floor(timeDiff / (1000 * 60 * 60 * 24));
    
                if (date > endDate) {
                    document.getElementById('<%= txtToDate.ClientID %>').value = "";
                    alert('*Select date greater than Today.');
                }
                if (daysDiff < 0) {
                    document.getElementById('<%= txtToDate.ClientID %>').value = "";
                    alert('*FromDate should be less than Todate');
                }
    
            }
            function txtFromDateChanged(sender, args) {
                var date = new Date();
                var startDate = Date.parse(document.getElementById('<%= txtFromDate.ClientID %>').value);
                if (date > startDate) {
                    document.getElementById('<%= txtFromDate.ClientID %>').value="";
                    alert('*Select date greater than Today.');
                }
            }
        </script>

    OriginaleL’autore Android villa

Lascia un commento