Rails仅在创build和更新时进行模型validation

如果我只想创buildvalidation,那么我可以做

validates_presence_of :password, :on => :create 

但我怎么说创build和更新? 我试过这个,但没有奏效:

 validates_presence_of :password, :on => [ :create, :update ] 

我需要两次定义validation吗?

默认情况下,validation同时运行创build和更新。 所以它应该只是:

 validates_presence_of :password 

在:关键只是让你select其中之一。

只写:

 validates_presence_of :password 

没必要…

 on => :create 

当您需要禁用某些特定操作(如删除)的validation时,可以使用它。