我有一个表单,它接受一个“付费”字段,我正在尝试验证它。
这是一个数字字段,但我希望用户能够通过检查验证输入付费金额,而不产生逗号引发错误。
amol.rb
class Amol < ApplicationRecord
validate :check_paid
def check_paid
errors.add(:paid, '- Commas are not allowed') if paid.to_s.gsub(/,/,"").to_i
end
end
当我输入的金额为12,535,然后它会引发错误显示如下;
1 error prohibited this article from being saved: Paid - Commas are not allowed
这也没什么。
但问题是,即使我从输入中删除逗号,错误仍然存在,并且无法创建或更新表单。
任何建议都欢迎。
提前谢谢你。
发布于 2019-07-01 22:43:45
最后,通过下面的验证,得到了预期的结果;
验证:付费,数字:{ only_integer: true },allow_nil: true
现在,当我在文本字段中输入逗号时,就会看到显示错误;
Paid is not a number
另一方面,如果输入没有逗号的数字,并按预期方式保存到数据库中。
https://stackoverflow.com/questions/56815882
复制