2011-07-07 2 views
6

sto utilizzando jQuery convalida discreto ... Io configurato con Globalize per accettare i numeri del genere: 1.500,50 (mascherata da JQuery)MVC 3 decimale problema validazione lato server

Il mio codice finora

1-) configurata Globalize

$.validator.methods.number = function (value, element) { 
    return this.optional(element) || !isNaN(Globalize.parseFloat(value)); 
}; 

$(function() { 
    Globalize.culture('pt-BR'); 
}); 

2-) web.config configurato

<globalization culture="pt-BR" uiCulture="pt-BR" /> 

Ok, quindi sto usando un plugin JQuery per formattare Textbox to Money (PT-BR) come quello: 1.500.000,50 ...

La mia validazione del client JQuery funziona correttamente! Ma quando si va alla convalida del server ho un errore ModelState:

"The value '1.500.000,50' is not valid for Total." 

Come posso risolvere il problema?

Grazie

+1

Che tipo di formato è questo? con due decimali anziché uno? –

+1

il '.' è per migliaia e ',' per la parte decimale ... – Paul

risposta

7

C'è un problema in MVC legame con i valori del genere. Passare attraverso this post di Phil Haack. Ti mostra come creare un raccoglitore modello Cusom per gestirlo.

+0

Grazie ... Ho già letto che ... E per qualche strana ragione il mio DecimalModelBinder non viene mai chiamato ... Non so perché, seguo esattamente come descritto da Phil Haack ... Solo differenza Sto usando S # arp Architeture ... – Paul

+0

@Paul fa 'S # arp Architeture' aggiungi i raccoglitori personalizzati? Non ho passato il codice sorgente. – Eranga

+0

Ha su Global.asax: ModelBinders.Binders.DefaultBinder = new SharpModelBinder(); – Paul