私はイタリア語で、10進数はドットの代わりにコンマでフォーマットされているため、同じ問題が発生しました。だから、アメリカでは1,000.12は1.000,12と書かれています。 MVC3にはすでにスクリプトjquery.validate.js/jquery.validate.min.js が含まれていますが、これは素晴らしいことです。
次に、別のスクリプト - methods-it.js - jquery validateプラグインローカリゼーションフォルダから取得して少し変更しました。
jQuery.extend(jQuery.validator.methods, {
date: function (value, element) {
return this.optional(element) || /^\d\d?\.\d\d?\.\d\d\d?\d?$/.test(value);
},
number: function (value, element) {
return this.optional(element) || /^-?(?:\d+|\d{1,3}(?:\.\d{3})+)(?:,\d+)?$/.test(value);
},
range: function (value, element, param) {
var val = value.replace(",", "#").replace(".", ",").replace("#", ".");
return this.optional(element) || (val >= param[0] && val <= param[1]);
}
});
この小さなコードは、日付(イタリア語の書式設定)、浮動小数点数、および値の範囲を扱います。 これは素晴らしい作品です。 残念ながら、これは単なる指示であり、解決策ではありません。すべてのロケールで修正する必要があるためです。
の可能な複製を[asp.net MVC検証は数カスタムエラーでなければなりません](http://stackoverflow.com/questions/ 4521254/asp-net-mvc-validation-must-be-a-number-custom-error) –