Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692

    Utilizzo CompareValidator su variabile data

    ciao a tutti.

    perchè non riesco a far funzionare questo CompareValidator?
    devo controllare che la data inserita nel form al campo "DataReg" non sia superiore alla data odierna.
    mi dice sempre che la data non è valida.
    cosa sbaglio?
    Grazie

    codice:
    <asp:CompareValidator ID="CompareValidator1" runat="server"
               ErrorMessage="Data non valida"
               ControlToValidate="DataReg" type="Date"
               ValueToCompare='<%# DateTime.Now.ToString("d") %>' CssClass="redb" />
    
    protected void Page_Load(object sender, EventArgs e)
        {
    
            if (DataRegText != null)
            {
                CompareValidator1.ValueToCompare = DateTime.Now.Date.ToShortDateString();
            }
        }
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

  2. #2
    ciao,
    alcune domande per capire meglio:

    1 - come mai imposti 2 volte il valore ValueToCompare?
    una volta nel codice aspx, la seconda nel Page_Load. tra l'altro i valori sono pure diversi.

    2 - che controllo è DataReg (il controllo da controllare .. .. hi hi)

    tieni presente che le form in input restituiscono sempre una stringa, quindi devi considerare anche il formato

    ciao

  3. #3
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    così mi funziona

    <asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TextBox1" ErrorMessage="CompareValidator" Operator="LessThanEqual" Type="Date" ></asp:CompareValidator>
    codice:
    Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
    	If Not Me.IsPostBack Then
    		Me.CompareValidator1.ValueToCompare = (DateTime.Now()).ToShortDateString()
    	End If
    
    End Sub
    Pietro

  4. #4
    ma hai cambiato da C# a VB?

    comunque l'sitruzione in C# ha un errore (DateTime.Now.Date)
    corretta sarebbe:
    [code]
    DateTime.Now.ToShordDateTime();

  5. #5
    Utente di HTML.it L'avatar di orcim
    Registrato dal
    May 2003
    Messaggi
    1,692
    Infatti, così adesso sembra funzionare, grazie !

    codice:
    <asp:CompareValidator ID="CompareValidator1" runat="server"
               ErrorMessage="Data non valida"
               ControlToValidate="DataReg" 
               Type="Date"
               Operator="LessThanEqual"
               ValueToCompare='<%# DateTime.Now.ToString("d") %>' 
               CssClass="redb">
               </asp:CompareValidator>
    
    
    
    protected void Page_Load(object sender, EventArgs e)
        {
            if (DataRegText != null)
            {
                CompareValidator1.ValueToCompare = DateTime.Now.Date.ToShortDateString();
            }
        }
    "Ubi Maior, Minor Cessat"
    Domandare è lecito, rispondere è cortesia...
    A tutti è dovuta una risposta, comunque...

    “Dio gradisce molto di più le bestemmie dell’uomo disperato che non le lodi del benpensante la domenica mattina durante il culto“ Martin Lutero

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.