Domanda

Se un'applicazione ASP.NET MVC che utilizza Annotazioni dati ...

<%= Html.ValidationSummary("Things broke...") %>
<% Html.EnableClientValidation(); %> 

E pubblichiamo sul server. Non continueremo a colpire l'azione, controllare ModelState.IsValid e tornare alla vista originale con l'errore di convalida. È ancora considerato convalida lato client se stiamo colpendo il server (tramite un post)?

È stato utile?

Soluzione

No, ciò che hai appena detto non è considerato convalida lato client.

La convalida lato client è considerata tutto ciò che convalida il modulo nel browser (client), generalmente con JavaScript. Una volta che il post viene inviato al server (ASP.net), ci si trova in modalità di convalida lato server.

Credo che ciò che stai davvero chiedendo sia se la nuova convalida asp.net mvc 2.0 è lato client o meno.

EnableClientValidation consente ai tuoi modelli con annotazioni di dati di utilizzare il plug-in di convalida jquery per eseguire la vera convalida lato client. Non dovrebbe postare di nuovo sul server per eseguire la convalida, ma quando lo ripubblicherà probabilmente si convaliderà sul server e la convalida lato client non è affidabile al 100%.

Altri suggerimenti

Sì, sarebbe una validazione lato server. Se esegui la convalida sul lato client ed eviti che il modulo venga pubblicato quando uno dei campi non è valido, allora è la convalida lato client.

Se aggiungi queste librerie si occuperà della validazione del client.

<script type="text/javascript" src="MicrosoftAjax.js"></script>
<script type="text/javascript" src="MicrosofMVCValidation.js"></script>

Queste librerie genereranno il codice javascript per la convalida. Ma per questo è necessario utilizzare Dataannotations

Ecco un esempio a riguardo

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top