2016-09-12 4 views
0

私はフォームでユーザー入力から始まる作業のためのアプリケーションを作成しています。モデルをどのようにしてフィールド1 &フィールド2が有効であるか、またはフィールド2 &フィールド3のいずれかを検証するのが難しいです。これは、RoR/Postgresモデルが想定している範囲を超えていますか?Rails&Postgres - フィールド1とフィールド2、フィールド2とフィールド3のどちらが必要ですか?

first_name & last_nameが必要です。またはlast_name & birth_dateが必要です。あなたはa custom Active Record validation methodを使用して、次のような何かを行うことができ

答えて

0

class User < ApplicationRecord 
    validate :conditional_name_validation 
    # ...  
    private 
    def conditional_name_validation 
     unless (first_name && last_name) || 
      (last_name && birth_date) 
     error = "You must provide either 'first_name' and 'last_name' or 'last_name' and 'birth_date'" 
     errors.add(:base, error) 
     end 
    end 
end 
関連する問題