2012-01-08 9 views
2

2つのフィールドのどちらか一方を埋める必要があり、他方を空にする必要があるモデルがあります。バリデーションのOR演算子をレールに追加する3

私はモデルにreward_fileとreward_linkフィールドを持っています。私は

  1. reward_fileとreward_linkのどちらかが、私は に

    は誰でも提供できます レール3

    を使用しています(相互に排他的)の値

を持っていなければなりません値

  • 両方を持たなければならないことを確認する必要がありますこれの解決策?

    例とすることができる:

    reward_fileの値を有し、reward_link空#valid

    reward_fileが空である、reward_link値が

    reward_fileが空#validた、reward_linkは

    空#INVALIDあります

    reward_fileに値があり、reward_linkに値#がありません

  • 答えて

    2

    あなたはXOR検証メソd。考えられる解決策の1つがin this question: Validate presence of one field or another (XOR)です。これが適用されることを願っています!

    +0

    ありがとう、私はこれを探していました! –

    +0

    あなたは貴重なSO点について彼の答えを受け入れる必要があります:) –

    関連する問題