【发布时间】:2017-08-25 12:09:14
【问题描述】:
我有一个本地化的 ASP.NET Core Web 应用程序:en-US 和 it-IT。
在 en-US 中,小数点分隔符是点,在 it-IT 中,小数点分隔符是逗号。
我有这个 ViewModel
public class MyViewModel
{
public int Id {get; set; }
// Omitted
public decimal? Amount{get; set;}
}
当我在 en-US 上呈现创建/编辑页面时,对于小数字段,html 文本框呈现
1000.00
如果我发布表单,则操作完成且没有错误。
到目前为止一切顺利。
当我在 it-IT 上呈现创建/编辑页面时,html 文本框呈现
1000,00(注意逗号)
如果我尝试发布表单,(客户)验证 fail 使用
字段金额必须是数字。
我阅读了有关 IModelBinder 的信息,但我了解当表单发布在服务器上时映射 viewModel,在我的情况下,我被客户端验证阻止。
en-US 时最好使用点,it-IT 时使用逗号,但只使用点也可以
【问题讨论】:
-
需要编写脚本来修改jquery验证器
-
你能给我一些关于这个的其他信息吗?
-
我看看能不能很快找到你的链接
-
例如参考this article(但您需要根据文化有条件地添加它)
-
@Ravikumar,这是服务器端,不是客户端验证
标签: c# asp.net asp.net-mvc asp.net-core