2

我的服务器使用逗号将浮点数转换为字符串,然后 jquery 警报,这个浮点数的格式不正确(它需要点)。我不熟悉这个自动生成的 jquery 验证脚本,我不知道在哪里更改它,所以我在这里问。

这是我的代码和警报图片。

    @model NerdDinner.Models.Dinner

    (...)

    <div class="editor-label">
        @Html.LabelFor(model => model.Longitude)
    </div>

    <div class="editor-field">
        @Html.EditorFor(model => model.Longitude)
        @Html.ValidationMessageFor(model => model.Longitude)
    </div>

在此处输入图像描述

谢谢。

4

2 回答 2

0

使用javascript,您可以将这些值转换为浮点数,将“,”替换为“。”:

var Longitude = parseFloat($("#longitude").val().replace(",", "."));
var Latitude= parseFloat($("#latitude").val().replace(",", "."));
于 2013-10-27T18:31:37.773 回答
0

正如 Steven De Waele 在他的文章Validating numbers with comma's with jQuery中提到的那样,您可以覆盖 jQuery 验证插件的方法来实现您的目标。

$.validator.methods.range = function (value, element, param) {
var globalizedValue = value.replace(",", ".");
return this.optional(element) || 
                 (globalizedValue >= param[0] && globalizedValue <=  param[1]);
} 

$.validator.methods.number = function (value, element) {
return this.optional(element) ||
              /^-?(?:\d+|\d{1,3}(?:[\s\.,]\d{3})+)(?:[\.,]\d+)?$/.test(value);
}
于 2013-10-27T19:16:50.873 回答