【发布时间】:2015-08-07 13:34:00
【问题描述】:
我有这个字段:
public decimal Price { get; set; } 在数据库中是十进制 (7,2)。
查看:
@Html.EditorFor(model => model.Price,
new { htmlAttributes = new { @class = "form-control" } })
如果我用逗号输入值,MVC 默认验证不接受,表示:"The field must be a number"。 (我尝试使用正则表达式,但没有办法)
例如:5,00, 55,00 or 555,00
还有这个:
public DateTime date { get;set; }
查看:
@Html.EditorFor(model => model.Date,
new { htmlAttributes = new { @class = "form-control" } })
MVC 默认验证不接受 dd/mm/yyyy 格式的日期,仅接受 mm/dd/yyyy 格式的日期。
例如:13/02/2015, 15/06/2013, 25/08/2012
是全球化还是什么?我该如何解决这个问题?
【问题讨论】:
-
有两个不同的问题,最好创建单独的问题。对于日期时间格式,您可以使用全球化设置并将线程更新为您想要的任何文化。对于第一个问题,您可以使用 Money 数据类型而不是 int
-
你是从字符串分配的吗?我们可以看到您分配值的代码吗?
-
这确实是一个全球化问题。您是否遇到了客户端验证、服务器端或两者兼有的问题?
-
我编辑了我的问题,我只是用 EF 创建了一个项目 MVC 并生成控制器 + 视图,当我用逗号对一些值进行数字化时,它会发生或日期格式为 dd/mm/yyyy。 // 使用客户端。
-
有解决办法吗?
标签: c# jquery datetime decimal globalization