Groovy / Grails浮点值和HTML5数字输入

问题描述 投票:2回答:4

在Groovy / Grails 2.0中,我有一个带有Float变量的域(例如,Float重量= 25.28)。当Grails生成具有相应数字输入字段的表单时,验证会抱怨25.28值,并且只会接受int值。有人可以阐明发生了什么吗?提前致谢。

编辑:在Gails域对象中(出于参数目的,使用Double和BigDecimal):

   Double weight = 350.26;
   BigDecimal width = 86.1;

生成的html:

<input id="weight" type="number" value="350.26" required="" name="weight">
<input id="width" type="number" value="86.1" required="" name="width">

...则我们的FF 7可以很好地使用这些数值,Chrome会给我“无效值”,并且仅接受整数。对我所缺少的东西有任何想法吗?

html5 grails
4个回答
7
投票

如果使用的是'grails generate-all'_form.gsp文件,则更新生成的_form.gsp输入元素,以添加step =“ 0.001”或step =“ 0.1”或step =“ any”等。] >

http://code.google.com/p/chromium/issues/detail?id=44116

将此更新更新到所有生成的_form.gsp文件的一种方法是运行'grails install-templates',然后编辑src / templates / scaffolding / renderEditor.template renderNumberEditor方法,并在每个方法中添加step =“ any”


3
投票

有相同的问题。正如jlpp所说,通过编辑生成的_form.gsp视图为我解决了,但是将输入的标记更改为此:


2
投票

您应该在应用中设置语言环境。服务器的默认语言环境可能与客户端上的语言环境不同。但是,您是对的,应由grails处理。


0
投票

您可以在step="any"标签中使用input

© www.soinside.com 2019 - 2024. All rights reserved.