Submit via jQuery con ASP.NET MVC 2 e Validazione Client Side, un bel cocktail

Ultimamente sto facendo parecchio uso ASP.NET MVC 2, più precisamente mi sto occupando della parte di markup, jQuery ed input di dati; di fatto in un post precedente avevo spiegato come era possibile sfruttare jQuery e le DataAnnotations per validare dei dati sul client.

Quanto detto precedentemente funziona perfettamente nel caso in cui l’oggetto che effettuerà il submit della <form> sarà un input type, al contrario se si ha la necessità di invocare il submit tramite un’immagine o un link è necessario a ricorrere al javascript.
Purtroppo se si invoca il classico metodo submit() per invocare l’action della form, non viene invocata la validazione (questo a prescindere dal fatto che si usi o no jQuery per validare la form) e di conseguenza il controllo dei dati di input avverrebbe totalmente lato server.

Il problema è facilmente aggirabile e consiste nell’invocare via javascript la validzione associata alla form e, nel caso questa venga superata, si può invocare il submit() sopracitato.
Lo script seguente mostra come fare:

<div id="submitbox" class="left">
    <span class="button submit">
        <a href="javascript:if($('#myForm').validate().form())$('#myForm').submit();" title="Submit form">
            <span>Submit form</span>
        </a>
    </span>
</div>

byez

.u


Comments