Validazione dell'input lato client con ASP.NET MVC

di Marco De Sanctis, in ASP.NET 4.0,

Nel precedente script #1015 abbiamo visto come ASP.NET MVC 2 contenga un supporto per validare i dati inseriti dall'utente tramite un sistema basato sulle DataAnnotation. Per migliorare la user experience, è possibile effettuare questa verifica anche sul client, a patto di aggiungere alla master page i riferimenti ai file Javascript seguenti (già inclusi nel template di default di Visual Studio):

<script src="../../Scripts/MicrosoftAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcAjax.js" type="text/javascript"></script>
<script src="../../Scripts/MicrosoftMvcValidation.js" type="text/javascript"></script>

A questo punto all'interno di una View è sufficiente invocare il metodo EnableClientValidation per far sì che il framework inietti automaticamente l'opportuno codice Javascript in base alle DataAnnotation delle entity:

<% Html.EnableClientValidation(); %>
<% using (Html.BeginForm()) {%>
...

Bisogna prestare attenzione al fatto, però, che tale tipologia di validazione non è sostitutiva di quella lato server, visto che non ci sono garanzie sul fatto che l'utente abbia effettivamente attivato gli script; pertanto è sempre necessario verificare anche a livello di controller la correttezza dei dati ottenuti in POST:

[HttpPost]
public ActionResult Create(Person person)
{
    if (!this.ModelState.IsValid)
        ....
}

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