Pornim de la o aplicate MVC 3 pe care avem o forma cu mai multe controale de tip input-submit. Se doreste ca unul sau mai multe butoane care fac submit sa nu facă și validarea modelului client-side.
O a doua soluție găsita, care mi s-a părut extrem de simpla și care rezolva aceasta problema este adăugarea class="cancel" la butonul de input la care dorim sa nu facem validarea:
<form ... >
....
<input id="bSave" type="submit" value="Save" />
<input id="bAddToy" type="submit" value="Add toy" />
</form>
O solutie care pare la indemana este ca la al doilea buton din exemplu sa fie transformat într-un link (ancora). Din CSS poate sa fie făcut sa arate exact ca un buton de input iar la click poate sa apeleze un jQuery care apelează acțiunea dorita făcînd submit și la model.O a doua soluție găsita, care mi s-a părut extrem de simpla și care rezolva aceasta problema este adăugarea class="cancel" la butonul de input la care dorim sa nu facem validarea:
<input id="bAddToy" type="submit" value="Add toy" class="cancel" />
Voi ce propuneri aveți?
Pentru ultimele versiuni de browsere care suporta HTML5, pe unele din ele, merge atributul 'formnovalidate':
ReplyDeletehttp://wufoo.com/html5/attributes/12-formnovalidate.html
si care se refera la atributele de validare introduse in HTML5..
Din pacate multi useri nu au inca ultimele versiuni, asa ca probabil ar trebui un mecanism de fallback la validarea clasica folosind JS daca validarea din HTML5 nu e suportata ..