Mel*_*lon 4 ruby-on-rails ruby-on-rails-3
我在模型中的验证如下:
validates_numericality_of :shoe_size, :message=>'Please input a number'
Run Code Online (Sandbox Code Playgroud)
但这还不够,因为用户可以输入一些像"42.22222222121212121212 ..."这样的值,这是不可取的.那么,如何验证输入只有两个小数,如42.22
你可以试试这个:
validates_format_of :shoe_size, :with => /^\d+\.*\d{0,2}$/
Run Code Online (Sandbox Code Playgroud)
为什么不在收到输入后对其进行处理呢?在我看来,你应该自己将其四舍五入到小数点后两位,而不是让用户担心这一点。
Rails 提供round_with_ precision,因此只需在浮点上调用 .round(2) 即可将其四舍五入到小数点后两位。
| 归档时间: |
|
| 查看次数: |
6453 次 |
| 最近记录: |