2011-07-21 28 views
0

我使用验证模型领域:Rails的模型条件vaidation

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

有在需要验证模型很多领域,如果我指定它看起来并不好:如果=>为每一个方法。

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

回答

1

你可以自己写自己的自定义验证器,但如果你只验证存在,这可能做的伎俩:

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

有在这个模型中许多领域,其中一些也验证格式。 – Konrad

0

我不觉得有什么开箱即用此。如果你愿意,你可以使用自定义验证器。

0

您需要验证的条件是什么?如果你不需要它验证你能不能把这条线留下来?否则,你可能只是验证某些行动,所以你不需要评估should_validate?例如:

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

should_validate方法检查模型的某个字段,因此:only =>选项在此处不起作用。 – Konrad