ruby-on-rails - 数值验证,在比较中捕获零值

标签 ruby-on-rails validation

我有一个包含数字范围和描述 [min_val, max_val, name] 的对象。 我需要验证 min_val < max_val。但是,如果其中之一为空,我会收到零比较错误,相反,我想告诉用户需要一个数字。

另外,如何更改数值错误消息?

validates :min_val, :presence => true, :numericality => {:greater_than => 0, :less_than => :max_val}

validates :max_val, :presence => true, :numericality => {:greater_than => 0, :greater_than => :min_val}

validates :name, :presence => true, :if => Proc.new { |r| !r.min_val.nil? || !r.max_val.nil? }

最佳答案

您可以使用:message指定自定义错误消息。

validates :max_val, :presence => true, :numericality => {:greater_than => 0, :message => " is an invalid number."}
validates :min_val, :presence => true, :numericality => {:greater_than => 0, :message => " is an invalid number."}
validate do |record|
  record.errors.add_to_base("The min_val should be less than max_val") if min_val.to_i >= max_val.to_i
end
validates :name, :presence => true, :if => Proc.new { |r| !r.min_val.nil? || !r.max_val.nil? }

关于ruby-on-rails - 数值验证,在比较中捕获零值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5208895/

相关文章:

ruby-on-rails - Ruby on Rails 全局数组

ruby-on-rails - Rails 如何修复格式错误的请求(错误代码 400)?

java - 验证用户的整数输入?

javascript - 使用 AngularJS 验证具有互斥字段的表单

java - 如何计算两个日期之间的总工作小时数?

ruby-on-rails - 如何修复 Rails 模型中的条件验证?

ruby-on-rails - 如何从 Rails 4 中的多个非关联(非嵌套)模型创建一个表单?

ruby-on-rails - 如何在 Rails 5 中创建 ActiveRecord 无表模型?

ruby-on-rails - 使用 ActiveRecord 和 Rails 将数据插入 postgresql 数据库出现此错误 : RuntimeError: ERROR C22003 Minteger o

c# - 在 asp.net 中为 TextBox 添加格式