2012-03-09 8 views
6

Sto utilizzando i messaggi di convalida localizzati in un modulo ASP.NET MVC 3. Esso genera correttamente HTML comeI messaggi di convalida localizzati ASP.NET MVC 3 funzionano sulla mia macchina, ma non sul server

<input class="inputlong" data-val="true" 
    data-val-length="Das Feld &amp;quot;Adresse&amp;quot; muss eine Zeichenfolge mit 
        einer maximalen L&amp;#228;nge von 100 sein." 
    data-val-length-max="100" 
    data-val-required="Das Feld &amp;quot;Adresse&amp;quot; ist erforderlich." 
    id="Address" name="Address" type="text" value="" 
/> 

Questo funziona bene sulla mia macchina quando ho impostato il mio CurrentThread a un inglese, tedesco o italiano CultureInfo.

Ma lo non funziona su altri due computer di sviluppo e un computer di test di Windows Server 2008 R2 (stesso progetto, stessa configurazione: ho persino installato i pacchetti di lingua di aggiornamento di ASP.NET MVC 3 Tools), ma ho ancora solo i messaggi di validazione inglesi:

<input class="inputnormal input-validation-error" data-val="true" 
    data-val-length="The field Adresse must be a string with a maximum length of 100." 
    data-val-length-max="100" data-val-required="The Adresse field is required." 
    id="Address" name="Adresse" type="text" value="" 
/> 

ci sono impostazioni o alcune assemblee mancanti sugli altri computer io non sono a conoscenza?

+0

Stai utilizzando le stringhe di convalida predefinite o disponi di risorse proprie? – linkerro

+0

@linkerro Sto usando le stringhe di default. Uso nomi display localizzati anche se – splattne

+0

Come imposti la cultura corrente? Usando la globalizzazione web.config o in qualche altro modo? – archil

risposta

8

Potrebbe essere necessario installare .net framewok language pack. Ad esempio, sui miei messaggi di convalida della macchina non verrebbero visualizzati in tedesco finché non ho installato German language pack.

Required l'attributo non fa parte di asp.net-mvc ma di più generali DataAnnotations, quindi il language pack dovrebbe essere d'aiuto.

+0

Ovviamente! Grazie mille. Risolto il mio problema – splattne

+0

Prego :) – archil

0

È un "pochi anni dopo", ma mi piacerebbe dare i miei 2 centesimi su questo. Recentemente ho avuto questo stesso problema ma con lo stack tecnologico attuale: VS 2015, MVC 5, .NET 4.6; stiamo sviluppando in Messico e c'è stato un mix di lingua con alcuni dei messaggi di errore di convalida (maggioranza in spagnolo e alcuni in inglese).

Ho trovato questa risposta SO ma non ha aiutato la mia situazione perché quando ho provato a installare il language pack .NET, l'installer mi ha lanciato un messaggio "si è installata una versione più recente" e l'installazione è stata interrotta!

Il modo in cui ho risolto questo era installando il Language Pack di MVC con Nuget per il nostro progetto: Microsoft.AspNet.Mvc.es (pacchetti, ovviamente, ci sono localizzati per tutta la Microsoft supporta le lingue: basta sostituire .es con la propria lingua, ad esempio Microsoft.AspNet.Mvc.de per il tedesco). Successivamente la nostra applicazione ha mostrato tutti gli errori di validazione in spagnolo senza ulteriori configurazioni.

Spero che questo aiuti qualcuno con gli stessi problemi.

Problemi correlati