2011-05-29 85 views
0

我正在使用Ruby on Rails 3,我想檢索驗證字段名稱。也就是說,我爲一個類定義了一些驗證,並且我想要檢索哪些字段(他們的名字)是提交表單時驗證的候選字段。檢索驗證字段名稱

我需要這個,因爲我想用類錯誤屬性「玩」(<name_class>.errors)。

我該怎麼辦?

回答

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