我正在使用Ruby on Rails 3,我想检索验证字段名称。也就是说,我为一个类定义了一些验证,我想检索哪些字段(它们的名字)是提交表单时验证的候选者。
我需要这个,因为我想“玩”类错误属性(<name_class>.errors
)。
我该怎么办?
答案 0 :(得分:2)
您可以访问模型的validators
方法。这将在您的模型上返回一系列验证器。
例如,如果你有这个:
class User < ActiveRecord::Base
validates :name, :presence => true
validates :email, :uniqueness => true
end
然后你可以像这样访问验证器:
User.validators
# => [#<ActiveModel::Validations::PresenceValidator:0x123456 @attributes=[:name], @options={}>....]
User.validators.first.attributes
# => [:name]
User.validators.first.class
# => ActiveModel::Validations::PresenceValidator