Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Validare TextBox in Asp.NET

    Salve, in una pagina web l'utente deve inserire in TextBox:
    Cognome, Nome, Telefono, E-mail, Messaggio.

    Dopo che ho verificato che in ogni singola TextBox ci sia almeno 1 carattere, devo controllare che:

    in Cognome e Nome ci siano sono lettere maiuscole o minuscole (anche con le lettere accentate);

    nel campo Telefono ci siano solo numeri

    il campo E-mail sia valido...

    il Messaggio non deve essere controllato!


    Come si fa?? Devo controllare carattere per carattere??

    Grazie mille!!
    --- da enryb_89 ---

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    ci sono i controlli fieldvalidator. Li piazzi accanto ai controlli da validare li dove vorresti che venisse fuori il messaggio dii errore. Ce ne sono per tutte le occasioni: RequiredFiledValidator per esempio controlla che ci sia almeno un carattere, rangevalidator ti permette di specificare un range di valori, CompareValidator controlla un uguaglianza ecc..
    Per verifiche particolari sulle stringhe come le email i telefoni ecc. puoi usare RegularExpressionValidation ed inserirci dentro il pattern regex. Se non sai come si costruisce un pattern regex basta cercare su google ce ne sono di già pronti, se regex non ti piace o la logica di validazione è piu complessa puoi costruirti da zero il tuo validator utilizzando un CustomValidation e passando un handler di validazione all'evento ServerValidation.
    Per maggiori info vai cerca su msdn.

  3. #3

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    considera anche gli extender Ajax del framework di mamma MS:

    http://www.asp.net/ajaxLibrary/AjaxC...edTextBox.aspx

    es:
    codice:
    <ajaxToolkit:FilteredTextBoxExtender ID="ftbe" runat="server"
        TargetControlID="TextBox3"         
        FilterType="Custom, Numbers"
        ValidChars="+-=/*()." />
    (da "attaccare" ad una Textbox)

  5. #5
    Ciao,

    come detto dai nostri amici, puoi usare dei controlli già esistenti per validare l'input dell'utente.

    I controlli standard di ASP.NET sono i ValidatorControl:
    • RequiredFieldValidator: rende un input obbligatorio
    • RangeValidator: l'input deve stare entro un range di valori
    • RegularExpressionValidator: l'input deve soddisfare una formattazione (esempio mail)
    • CompareValidator: l'input viene confrontato con un altro valore (variabile o controllo)
    • CustomValidator: l'input viene validato da una tua funziona custom


    Per informazioni più dettagliate e qualche esempio, puoi vedere:
    http://msdn.microsoft.com/en-us/library/a0z2h4sw.aspx
    http://msdn.microsoft.com/it-it/library/aa308938(v=vs.80).aspx



    Inoltre, come suggerito dai nostri amici, puoi aggiungere maggiore interazione con l'utente con alcune funzionalità javascript, che puoi inserire utilizzando la libreria AjaxControlToolkit .
    Questa libreria fornisce degli "Extender" come:
    • Calendar: fornisce un calendario per selezionare una data
    • FilteredTexBox: puoi scegliere quali caratteri permettere o quali escludere
    • MaskedEdit: crei una maschera di iserimento per specificare il formato dell'input


    È bene utilizzare questi ultimi in combinazione con i primi, e non da soli.

    Ma essendo controlli che "lavorano" sul client, un ipotetico Hacker potrebbe disabilitare il Javascript del browser ed annullare tutti i controlli di validazione inseriti.
    È in questo caso che sono fondamentali i ValidatorControl poiché effettuano la validazione anche lato server.
    Infatti puoi sempre richiamare la proprietà Page.IsValid per controllare la validazione anche dal tuo codeBehind.

    Infatti il metodo Page.Validate(), che richiama per ogni ValidatorControl il proprio metodo Validate(), viene automaticamente chiamato dal controllo che ha effettuato il PostBack quando la proprietà CauseValidation è impostata a True (default).
    Quindi la proprietà IsValid viene messa a true se la validazione è soddisfatta. Ecco che la proprietà Page.IsValid è true se e solo se TUTTI i validator sono validi.
    Per maggiori dettagli guarda qui:
    http://weblogs.asp.net/rajbk/archive...-validate.aspx
    http://blogs.ugidotnet.org/flexy/arc...e.isvalid.aspx

    Spero di averti chiarito il quadro della situazione.

    Ciao

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.