Ho utilizzato il metodo descritto here per localizzare i miei messaggi di annotazione dei dati e fondamentalmente funziona bene in post normali. Posso vedere anche il messaggio di convalida localizzato sul lato client.jQuery convalida discreta ignora il messaggio di data-val-richiesto in MVC3
Tuttavia, il problema si verifica quando ho una vista parziale che ha i campi di input da convalidare e viene caricata utilizzando una chiamata Ajax. Per qualche motivo, ottengo il messaggio di convalida predefinito ("Questo campo è obbligatorio") anziché il mio messaggio localizzato impostato nell'attributo data-val-required dell'elemento.
Ho verificato quanto segue:
1. Ho incluso sia "jquery.validate.min.js" e "jquery.validate.unobtrusive.min.js".
2. Ho controllato la risposta ajax e contiene l'attributo data-val-required con messaggio localizzato.
Ho già provato le seguenti soluzioni:
1. Ho provato l'analisi della risposta Ajax (che non funzionava) come $ .validator.unobtrusive.parse ('forma')
2. Analisi contenuto dinamico per convalida come descritto here. Ancora nessuna soluzione.
Ho una scadenza pressante e questo mi preoccupa.
Si sta tentando di convalidare subito dopo aver aggiunto il contenuto dalla parziale o è il contenuto dinamico presentato normalmente con il resto del modulo? –
Il contenuto dinamico viene inviato normalmente con il resto del modulo. – sprisoner
Finalmente ha avuto una svolta. C'erano due moduli nella mia pagina, uno nella pagina indice e uno nella pagina parziale. I pulsanti sui cui clic sarebbe stato inviato il modulo erano nella pagina indice. Ho spostato i pulsanti nella pagina parziale in modo che si trovino all'interno dell'elemento del modulo della pagina parziale, e lo! ha funzionato bene. Sebbene il problema sia risolto, non so che cosa abbia causato il problema e come sia stato risolto lo spostamento dei pulsanti nella forma più interna? Il mio problema è risolto, ma se qualcuno può aiutarmi a capire la causa, potrei contrassegnarlo come una risposta e chiudere questa domanda. – sprisoner