Rails建模条件验证

时间:2011-07-21 20:14:52

标签: ruby-on-rails validation model conditional

我使用以下方法验证模型中的字段:

validates :first_name, :presence => true, :if => :should_validate?
validates :last_name, :presence => true, :if => :should_validate?
...

模型中有许多字段需要验证,如果我指定的话,它看起来不太好:if =>每个方法。

是否可以在块中嵌入此验证方法而不是给出:if =>每个人的方法?

3 个答案:

答案 0 :(得分:1)

您当然可以编写自己的自定义验证器,但如果您只是验证状态,则可能会有这个诀窍:

validates :first_name, :last_name, :presence => true, :if => :should_validate?

答案 1 :(得分:0)

我认为没有开箱即用的东西。如果需要,可以使用自定义验证器。

答案 2 :(得分:0)

您需要验证的条件是什么?如果您不需要它,那么您是否可以离开该线路?否则,您只能对某些操作进行验证,因此您无需为should_validate?进行评估,例如:

validates :first_name, :last_name, :presence => true, :only => [:create, :update]