2013-09-03 16 views
19

Ho un Admin pagina in cui l'utente clicca sul link e il corrispondente PartialView, contenente un modulo web viene caricato all'interno di un particolare div nella pagina Admin utilizzando Ajax.MVC 4 client convalida lato non funziona per la forma che è caricato con Ajax

Tutto il

"~/Scripts/jquery-2.0.3.js", 
"~/Scripts/jquery.unobtrusive-ajax.js", 
"~/Scripts/jquery.validate.js", 
"~/Scripts/jquery.validate.unobtrusive.js" 

viene fatto riferimento all'interno della Admin pagina e quando il PartialView viene caricato, la jQuery cliente validazione lato non funzionerà.

ma quando mi riferisco quegli script all'interno del PartialView, tutto funziona bene, ma non ho intenzione di fare questo per ogni PartialView perché sono numerosi e ogni volta che ognuno carichi, almeno due di questi file .js deve essere richiesto dal server di nuovo.

C'è un modo in cui posso avere quegli script nella mia pagina genitore (Admin) senza questo problema?

+2

La convalida jQuery probabilmente ha bisogno di essere consapevoli del nuovo markup che è stato caricato dalla Vista parziale. Ho riscontrato questo problema con altri plugin jQuery che devono essere "riapplicati" al nuovo markup caricato tramite ajax. – asymptoticFault

risposta

47

Hai bisogno di questo su ciascuno dei vostri punti di vista parziali:

$(document).ready(function() { 

    $.validator.unobtrusive.parse("#YourFormID"); 

}); 

Fondamentalmente la convalida non è vincolato sul modulo reso dinamico ...

+0

Ha funzionato bene;) Grazie mille Marko! – Ali

+2

Salvato il mio giorno, tx! – Ako

+0

Sì !!! Amo questo posto! Molte grazie! –

1

Fondamentalmente il validatore analizza gli elementi sul documento pronto. Puoi chiamarlo da solo se preferisci, ma qualcuno ha già postato una domanda al riguardo. e la risposta accettata probabilmente funziona ancora. Una delle risposte ha un link al post del blog per ulteriori letture, se ti va.

client side validation with dynamically added field

+0

Grazie mille Chad! – Ali

Problemi correlati