Rails4 作成時と更新時でバリデーションを分ける

作成時と更新時でバリデーションを分けたかったので、メモ。

作成時と更新時でバリデーションを分けるにはonを使用する。

# 作成時のみチェック
validates :password,
  :on => :create,                  # 新規作成時のみチェック
  :presence => true,               # 必須
  :length => { :in => 4..100 }     # 4文字以上100文字以下

# 更新時のみチェック
validates :password,
  :on => :update,                  # 更新時のみチェック
  :presence => true,               # 必須
  :length => { :in => 4..100 }     # 4文字以上100文字以下

# 常にチェック
validates :password,
  :presence => true,               # 必須
  :length => { :in => 4..100 }     # 4文字以上100文字以下


参照:
validationカンペ - zenpouの日記