灵活处理rails number_field中的十进制表示



Rails表单标记帮助器特别有用,因为它在客户端通过暴力方式验证值的数值。

但是,如果我没有弄错的话,这依赖于浏览器对step属性

的约定。
<input min="0" max="10" step="any" type="number" name="landing[arrival_radius]" id="landing_arrival_radius">

浏览器被设置为底层设备对小数的系统定义,因此限制了用于小数的符号。

服务器端,在给定应用程序设置的情况下,消毒程序将为周期(最小/最大范围低于1000秒)gsub逗号。

不清楚的是对十进制输入的测试。不能在周期为十进制的系统中输入3,78;它被认为"不是一个数字"。然而,在这个星球的大片地区,它是有效的输入。

那么这个测试如何进行(圣托马斯综合征)呢?(不只是在测试套件中)

在Mac OS上,可以为每个应用程序选择区域/语言.
因此,可以使用不同的浏览器来实现这些目的。

最有趣的是,这是在chrome浏览器(Opera)上测试的,它允许使用逗号和句点(Firefox的句点小数认为逗号文本)。应用程序接收的参数都带有十进制周期;不需要消毒。