met*_*hyl 5 validation ruby-on-rails
有没有办法只在特定形式(控制器的动作)中触发验证,而不是在每次保存或更新时全局触发?像User.create(:validate=>true)旗帜的东西.
是的,您可以为验证提供条件,例如:
validates_presence_of :something, :if => :special?
private
def make_sepcial
@special = true
end
def special?
@special
end
Run Code Online (Sandbox Code Playgroud)
现在,要启用这些验证,您只需:
s = SomeModel.new
s.make_special
Run Code Online (Sandbox Code Playgroud)