验证字符串与另一个属性的长度

时间:2011-03-18 15:59:43

标签: ruby-on-rails validation

我有一个包含2个属性的模型

  • 名称
  • URL_NAME

我想确保url_name中的字符数小于或等于名称中的字符数。我尝试过做类似下面的事情,但似乎没有用。有没有人有任何建议?

class Country < ActiveRecord::Base
  has_many :product

  validates_presence_of :name, :url_name
  validates_length_of :url_name, :maximum => :name.length

end

我是ruby和rails的新手,请原谅我因为我对语言中的一些基本概念缺乏了解:)

1 个答案:

答案 0 :(得分:5)

默认验证方法不能这样做(它们非常基本),但您可以创建自定义验证方法,例如:

validate :url_length

def url_length
  errors.add(:url_name, "error") unless url_name.length <= name.length
end