Chi non ha usato i RegularExpressionValidator in ASP.NET ? Sono comodissimi, così come sono comodissimi i suggerimenti che ci vengono messi a disposizione.
Ma stiamo attenti !!! Immaginiamo di avere una TextBox che deve accettare un'email. Aggiungiamo il suo validatore e scegliamo fra quelli proposti "Internet e-mail address". La nostra validation expression sottoposta sarà quindi:
\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
Bene, ora ci aspettiamo che la nostra TextBox possa accettare solo email ben formattate. Niente di più falso! Provate a scrivere mario.rossi@mail.com<script>alter('Ciao');</script> e lui risponderà tutto ok.
La risposta è semplice, la validation expression è sbagliata. In pratica manca dei caratteri di apertura (^) e chiusura ($) del testo da validare, che farebbe divenire la stringa come
^\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
Lo stesso discorso si pone sulle altre stringhe 'suggerite'.