1
votes

I am working on an MVC5 application. I am having a problem getting the server-side validation of number fields to work for the specific culture (de-CH). It really feels like it is defaulting to the standard German format.

I have set the web.config globalization:

<globalization uiCulture="de" culture="de-CH" />

I am not using any resource files, so from what I understand the uiCulture does not come into play.

The client is using jquery.globalize and correctly loading and using the de-CH culture.

System.Threading.Thread.CurrentThread.CurrentCulture

reports the proper culture of 'de-CH' on both machines. Locally it validates 100.00 as correct, but on the server it says that is not a number.

All of this works properly on my local Win7 IIS7 instance. Though when we install it on the client Win8 server it does not work anymore. The client-side is validating numbers properly for the de-CH culture '0.00', but the server rejects them as invalid. The Date formats ARE however working, which just adds to the confusion. This is where I wonder if it is somehow falling back to de-DE where the date formats are the same but the number format is '0,00'.

Does a server have to have a specific culture enabled/installed? Or any other ideas to check?

1
Have you checked NET Globalization in ISS (on server)? - user3559349
@StephenMuecke - When we look at the .NET Globalization settings they look like they are reading from the Web.Config. But yes they are both correct. - GroundedTraveler

1 Answers

0
votes

Finally we figured out the problem. Apparently there are registry settings for the culture on the server that were set to de-AT. These somehow were being honored above the Web.Config settings.