2017-04-13 95 views
1

我试图使用MVC中输入数字,它正确地接受逗号(我在用逗号作为小数点分隔文化)和MVC接受它用我制作的自定义联编程序。该值正确保存在数据库中,然后返回。HTML 5号输入不显示小数

的问题是,经过十进制值,它看起来像0.231数目控制的时候,我想它会尝试它用逗号格式化为我的文化和不工作,所以会出现什么。

粘合剂适用于回服务器,但我还需要在返回控制它在返回页面工作,其他的东西?

我控制在Razor视图:

@Html.EditorFor(model => model.DecimalValueForExample, new { htmlAttributes = new { @class = "form-control", @type = "number", @step = "any", @min = "0.001", autocomplete = "off" } }) 

我在视图模型属性:

 [Display(Name = "DecimalValueForExample", ResourceType = typeof(Properties.Resources))] 
     [DisplayFormat(DataFormatString = "{0:0.###}", ApplyFormatInEditMode = true)] 
     [Range(0.001, double.MaxValue, ErrorMessageResourceName = "RangeErrorMessage", ErrorMessageResourceType = typeof(Properties.Resources))] 
     [Required] 
     public decimal DecimalValueForExample{ get; set; } 
+0

我认为HTML5''效果最佳整数,小数不是数字。在w3schools上试试:https://www.w3schools.com/html/html_form_input_types.asp – mortb

+0

它使用十进制正常工作,我只是在这里保存了一个例子:https://www.w3schools.com/code/tryit.asp? filename = FELCCBVINC0P –

+0

是的,你说得对。我错过了步骤=“任何”部分。 – mortb

回答

1

这已经在过去的浏览器合规性问题和支持的各级浏览器之间变化,操作系统。 我发现的最后一张图是在Chrome上支持大约12个版本,当时在Windows上不支持逗号。 HTML5 number inputs – Comma and period as decimal marks

有一些JS的解决方法已经出现了听为好, html tag input of type=”number” and culture based decimal separator

+0

我目前使用歌剧,并输入数字时,逗号被接受,我认为问题是当它回来,它有问题接受。来自十进制数。 –

+0

这适用于输入:http://i.imgur.com/NPeDEEP.jpg –

+0

你可能想尝试添加“lang”属性到输入元素沿着帮助浏览器。 我一般写的大部分手我的表单元素和仅填充从模型中的价值部分,以及分离这些类型的输入,使他们不必来逐步所有组合 –