使用errors.add进行Rails验证

时间:2013-02-08 11:49:39

标签: ruby-on-rails ruby-on-rails-3

我的模型中有一个单独的方法可以像这样验证:

validate :validate_id

def validate_id
    errors.add(:base, "Id Should Not Blank") if self.project_id.blank?
end

我需要进行如下验证:

validates_format_of:project_id,:with => / ^(?!\ d + $)[a-z0-9 -_] * $ /

将仅使用下划线和短划线验证字母和数字,并且它们之间没有空格。

有没有办法在我的方法validate_id中使用它。

提前致谢

1 个答案:

答案 0 :(得分:1)

尝试:

def validate_id
  errors.add(:base, "Id Should Not Blank") if /^(?!\d+$)[a-z0-9-_]*$/.match(self.project_id).nil?
end