Utilizzare la classe StringValidator per convalidare stringhe

di Marco Leoncini, in UserScript, ASP.NET 2.0, System.Configuration,

Verificare che i dati immessi dall'utente rispettino determinati criteri è di fondamentale importanza per non incorrere in sgradite sorprese.

La classe StringValidator, del namespace System.Configuration, può essere utile al fine di verificare che una stringa contenga un numero minimo di caratteri, non ve ne siano di indesiderati e che non superi una determinata lunghezza.

I criteri della validazione vengono definiti creando una nuova istanza della classe.
Il costruttore StringValidator(Int32) verifica il numero minimo di caratteri, l'overload StringValidator(Int32, int32) verifica il numero minimo e massimo di caratteri, infine la versione del costruttore StringValidator(Int32, int32, String) aggiunge a quanto detto la verifica per i caratteri con consentiti.

Realizziamo una semplice pagina, con una TextBox per l'input dell'utente, un Button per inviare i dati al server e infine una Label per visualizzare il risultato della validazione.

Alla pressione del bottone sarà eseguito il metodo:

protected void ValidaInput_Click(object sender, EventArgs e)
  {
    StringValidator myStringValidator = new StringValidator(2, 8, "%&#@");
    string stringToValidate = UserInput.Text;

    if (myStringValidator.CanValidate(stringToValidate.GetType()))
    {
      try
      {
        myStringValidator.Validate(stringToValidate);
        MyLabel.Text = "stringa corretta";
      }
      catch (ArgumentException ex)
      {
        MyLabel.Text = ex.Message.ToString();
      }
    }
  }

Con il metodo CanValidate verifichiamo che l'oggetto da validare corrisponda al tipo che il validatore si aspetta, dopodiché con il metodo Validate verifichiamo che la stringa rispetti i criteri definiti dall'istanza di StringValidator.

Il namespace System.Configuration contiene altri validatori, derivati tutti dalla classe astratta ConfigurationValidatorBase, che si possono rivelare utili in diverse situazioni:

- CallbackValidator
- DefaultValidator
- IntegerValidator
- LongValidator
- PositiveTimeSpanValidator
- RegexStringValidator
- StringValidator
- SubclassTypeValidator
- TimeSpanValidator

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Approfondimenti

I più letti di oggi