Se vi capita di caricare delle partial view di Asp.Net MVC usando una delle chiamate ajax di jQuery e se la partial view in questione è una form su cui volete utilizzare la validazione lato client sfruttando la libreria jQuery unobtrusive validation (fornita con il template di mvc), dovete ricordarvi che al momento del caricamento dei js necessari la form non esiste ancora (la caricate tramite ajax…), quindi avete bisogno di dire a jQuery validate di parsare la form:
$(function () {
$.validator.unobtrusive.parse("#form-id");
});
Se poi anzichè una classica submit con un input type submit, fate il submit da javascript (perchè ad esempio avere un link o un div che vi fanno da pulsanti di invio), allora il codice diventa:
$(function () {
$.validator.unobtrusive.parse("#form-id");
$('#submit').click(function (e) {
if ($("#form-id").valid()) {
$("#form-id").submit();
}
});
});
Un grazie al mio caro amico Alessandro Mostarda, con cui mi confronto spesso sui piccoli e grandi problemi della vita quotidiana da sviluppatore web. Spero vi sia utile!
--Michele