Rails Modelで一部のバリデーションをしたい場合についてです。
一部だけバリデーションしたい場合は、以下のようにModelに定義します。
with_options on: :login do |login| login.validates :email, presence: true login.validates :password, presence: true end
バリデーション時は以下のとおりです。
Rails4編
class TestModel < ActiveRecord::Base def valid_login self.valid?(:login) end end
Rails5編(配列で指定ができるようになります)
class TestModel < ActiveRecord::Base def valid_login self.valid?([:login, :XXXX]) end end
部分ごとのバリデーションが必要な場合にとても便利な機能ですね。
参考になれば幸いです(*^^*)