2013-04-15 33 views
6

Ho un'app MVC4 compilata nel Regno Unito e ospitata su un server statunitense. Nel mio modello ho un campo data che è richiesto.Data di convalida in base alla regione

In allegato a questo campo è un selettore di date, selezionando una data verrà impostata una data in formato UK "GG/MM/AAAA" ad es. 23/12/2013. All'invio del modulo l'applicazione genera un errore di convalida poiché non si aspetta il formato.

In MVC4 come faccio:

  1. accettare sia i formati di data vale a dire ignorare il formato della data? Ho impostato il formato della data ma non posso specificare più formati di data
  2. Lato server Sto salvando la data su un database usando Linq. Anche questo genera un errore come formato errato. Sospetto che dovrò convertirmi in una data del Regno Unito?
  3. Quando si caricano i dettagli, inserire la data nel formato corretto in base alla posizione dell'utente
  4. Rileva il percorso del lato server dell'utente?

Qualcuno ha qualche dettaglio su come validare molto in base alla globalizzazione dell'utente?

Grazie

risposta

1

Nella configurazione web, nella sezione globalizzazione, impostare la lingua su "Auto". questo utilizzerà la cultura corrente dell'utente (compreso il numero e il tempo Data format)

<globalization culture="Auto" /> 

il framework .NET analizzerà e il rendering dei dati secondo la cultura dell'utente e sia MVC e entità funzioneranno correttamente.

2

Hai aggiunto il segmento di seguito in web.config?

<globalization 
    enableClientBasedCulture="true" 
    uiCulture="auto" 
    culture="auto" /> 

e leggere la data nel codice come formato DateTime. quello non dovrebbe darti un problema.

Un altro modo è quello in voi il codice lato server leggere tha data sempre come DateTimeUTC e quando mai si visualizza la data sullo schermo, utilizzare .ToLocalTime()

Problemi correlati