我有一个输入(它是文本输入),用户可以在其中设置价格。问题是,用户有时可以这样设置价格:
9
9.99
9,99
$9.99
验证此输入的最佳方法是什么?我在 Heroku(= PostgreSQL 数据库)上运行应用程序,数据类型列是decimal。
我有一个输入(它是文本输入),用户可以在其中设置价格。问题是,用户有时可以这样设置价格:
9
9.99
9,99
$9.99
验证此输入的最佳方法是什么?我在 Heroku(= PostgreSQL 数据库)上运行应用程序,数据类型列是decimal。
Rails 4 抱怨使用 $ 和 ^,所以使用:
validates :price, :presence => true,
:format => { :with => /\A(\$)?(\d+)(\.|,)?\d{0,2}?\z/ }
只是想节省人们的时间;-)
试试下面的东西。它匹配你所有的例子。
validates :price, :presence => true,
:format => { :with => /^(\$)?(\d+)(\.|,)?\d{0,2}?$/ }