Supporting ASP.NET MVC 3 Validation with Non-English Locales
This topic describes how to make sure that jQuery validation used in ASP.NET MVC 3 applications works with non-English locales.
Using ASP.NET MVC 3 Validation with Non-English Locales
To support validation for non-English locales in ASP.NET MVC 3 applications, you must include a locale-specific jQuery methods script file for each language you support. You can download these scripts from the following URL:
http://plugins.jquery.com/node/8/release
For example, for German locales, use the following file from the URL listed previously:
jquery.validate_17\jquery-validate\localization\methods_de.js
You then include the appropriate script reference in your view files, as in the following example:
<script src="@Url.Content("~/Scripts/methods_de.js")" type="text/javascript"></script>
You do not have to include the localized messages script (for example, messages_de.js for German locales), because ASP.NET MVC and types in the System.ComponentModel.DataAnnotations namespace use their own localized messages.
If you use a non-English locale, you should also use the correct locale-specific character for the decimal delimiter in the currency fields. (For example, in German, you would enter a price as "9,99".) On some non-English keyboards, the dot character (.) does not produce the English dot character used for decimal places. In those cases, if you use a dot character for the decimal point, you might see the following error:
The field Price must be a number.
In addition to including the localized methods script, you must make sure that the current locale on the server is set to the target locale so that any server-side messages (used for both client-side and server-side validation) will be used correctly. Typically when a server is configured, the correct locale is selected as part of the operating system installation. If the server is not set to the correct locale, do the following:
In the Windows Control Panel, open Regional and Language Options.
Select the Location tab
In the Current location list, select the target locale
See Also
Tasks
How to: Implement Remote Validation in ASP.NET MVC
Other Resources
ASP.NET Globalization and Localization