はじめに
独自のバリデーションを実装するvalidates_with
に関して簡単にまとめます。
バリデーションの作り方
app/validators
フォルダにカスタムバリデーションを書いていきます。
例えば、退社済みのスタッフの場合エラーが出る様なバリデーションを作る場合、下記の様になります。
class ActiveStaffValidator < ActiveModel::Validator
def validate(record)
if record.end_date < Date.today
record.errors[:base] << "退社済みのスタッフです。"
end
end
end
使い方
使い方としては、対象のモデルのファイルに
validates_with ActiveStaffValidator
と記載するだけです。