カスタムユーザーフィールド - フィールド検証

この件については遅くなってしまい申し訳ありません。カスタムフィールドのバリデーション方法を探して Meta を検索している方のために、プラグインを使ってどう行うかをご紹介しておきます。

plugin.rb で、User に対して validate メソッドを使用します。その後、カスタムフィールドを確認し、無効なものがあればエラーを設定できます。

require_dependency 'user'

validate User, :my_cool_validation_method do
  field = self.custom_fields['cool_tapes']
  if ! field.blank? && field.include?("bag of four grapes")
    self.errors[:cool_tapes] << "No rhymes allowed."
  end
end

注::my_cool_validation_method というシンボルは任意の名前で構いませんが、User モデルのコンテキスト内では一意である必要があります。

「いいね!」 10