gpt4 book ai didi

jquery - 具有 jquery 验证和 Html.EditorFor 以及不同的小数分隔符的 asp.net mvc

转载 作者:行者123 更新时间:2023-12-01 04:49:44 25 4
gpt4 key购买 nike

我读过很多关于这个主题的博文,但我从未见过完整的解决方案。

我已经搭建了这个默认的 html(其中 bedrag 是十进制):

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

当页面呈现时,这会在输入控件中为小数点生成一个逗号,即使我将其放入 web.config 中也是如此: <globalization culture="en-US" uiCulture="en-US" />或者这个 <globalization culture="auto" uiCulture="auto" />

然后,Jquery 验证插件提示我的“bedrag”输入字段中有一个逗号作为小数分隔符(已由 @Html.EditorFor(model => model.Bedrag) 放置在那里),这给出了错误“我的输入不是数字”;它需要一个点作为小数点分隔符。

但是,当我输入数字 12.90 时,默认模型绑定(bind)程序会将我的输入转换为 1290(输入乘以 100)。

然后我创建了一个自定义模型绑定(bind)器,在该代码中,当前区域性是“nl-NL”,因此不是 web.config 中的“en-US”。

所以现在我想知道:

1 2014 年我还需要自定义模型 Binder 吗?

2 ASP.Net 创建 @Html.ValidationMessageFor(model => model.Bedrag) 的值时使用哪种区域性? (为什么不是我的 web.config 中的那个?)

3 如何动态设置 @Html.ValidationMessageFor(model => model.Bedrag) 使用的区域性

4 如何动态设置用于 Jquery 验证的区域性?

我已经离开 ASP.Net MVC 一年了,但是到了 2014 年我是否仍然遇到这些小数点问题?

最佳答案

我使用的方法是扩展 jQuery 验证器。它基于this blogpost 。我将元数据中的文化设置为 BE-nl。由于这是一个纯荷兰语网站,因此我不会进一步进行任何检查。

$(function () {
// Look in metatag what culture we want
// and set this as culture for the client side.
var data = $("meta[name='accept-language']").attr("content");
Globalize.culture(data.toString());

// Don't validate on keyup event because it will mess up
// the cursor when replacing values in a textbox.
$('form').each(function () {
var validator = $(this).data('validator');
if (validator) {
validator.settings.onkeyup = false;
}
});

// Belgianize/sanitize the numbers inserted
// 1 000 000 => 1000000
// 1.00 => 1,00
$.validator.methods.number = function (value, element) {
var s = value.replace(/\ /g, '').split('.').join(',');

if (s.split(',').length < 3) {
var number = Globalize.parseFloat(s);
if (!isNaN(number)) {
$(element).val(s);
return this.optional(element) || true;
}
}

return this.optional(element) || false;
};
});

我想我用过this jQuery library为了全局化

关于jquery - 具有 jquery 验证和 Html.EditorFor 以及不同的小数分隔符的 asp.net mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22329942/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com