【问题标题】:ASP.NET MVC 5 - decimal with comma not accept as number [duplicate]ASP.NET MVC 5 - 带逗号的十进制不接受为数字 [重复]
【发布时间】:2018-01-22 16:44:15
【问题描述】:

我找到了一个旧的解决方案来解决我的问题,但它们似乎在 ASP.NET MVC 5 中不起作用。我想要从我的 ASP.NET MVC 网站上获得一个接受逗号价格的视图(自动生成)。

我的模型类是

public class Alert
{
    public int AlertId { get; set; }
    [ForeignKey("CieId")]
    public Cie AlertCie { get; set; }
    public int CieId { get; set; }
    [ForeignKey("PortfolioId")]
    [Display(Name = "Threshold Price")]
    [DataType(DataType.Currency)]
    public decimal Price { get; set; }
}

查看错误信息如下:

我使用此 web.config 条目运行我的网站:

culture="fr-CA" uiCulture="fr-CA"

问题出在视图级别,我无法创建新条目。我认为 JS 脚本会阻止它。

【问题讨论】:

  • 我的代码接受浮点格式的逗号。该视图能够正确显示它们。我只是无法填写查看表格..
  • 您不需要重新配置$.validator,它默认验证带有小数点分隔符的数字为.(点)
  • @StephenMuecke 好的,看起来不错,但我如何在 ASP.Net MVC 5 中做到这一点?!
  • 查看骗局 - 所有版本都相同 - 只需添加 $.validator.methods.number = function (value, element) { ... 即可覆盖默认行为(我还将查看是否可以为使用 globalize 插件提供一个好的链接)跨度>

标签: c# entity-framework asp.net-mvc-5 globalization


【解决方案1】:

客户端验证来自 jquery.validation(默认)。 它使用浏览器语言而不是服务器语言。

所以你必须让客户端使用你的服务器语言。

【讨论】:

  • 两者都设置为法语(服务器和我的浏览器),区域设置设置为“,”作为货币的分隔符。
  • 在德语中,我们使用相同的小数分隔符。要找出真正的问题是什么,请打开这个小提琴:jsfiddle.net/MeikelLP/x9x3r7bm 并告诉我是,还是。作品。仅在我的情况下,有效(德文小数分隔符)。
  • 它不使用浏览器语言。它使用美国格式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-09-22
  • 1970-01-01
  • 2019-01-23
  • 2017-07-13
  • 2014-04-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多