从模型中获取验证

man*_*kov 41 validation ruby-on-rails activemodel

我如何得到模型中定义的验证列表

例:

class ModelName
  validates_presence_of :field_name
  validates_inclusion_of :sex, :in => %w(M F)
end
Run Code Online (Sandbox Code Playgroud)

我需要哈希像:

{:field_name => 'required', :sex => 'Must be in: M, F'}
Run Code Online (Sandbox Code Playgroud)

Nic*_*nco 94

您不需要插件来满足基本需求.

您可以这样做以获取所有验证器的哈希值.

ModelName.validators
Run Code Online (Sandbox Code Playgroud)

如果要获取特定字段的验证器:

ModelName.validators_on(:attribute)
Run Code Online (Sandbox Code Playgroud)

  • 请注意,这仅适用于Rails 3.对于早期的rails应用程序,该插件是可行的方法. (2认同)