为rails 3中的验证添加OR运算符

时间:2012-01-08 15:20:48

标签: ruby-on-rails ruby-on-rails-3 validation

我有一个模型,我需要确保这两个字段中的一个必须填满,而另一个需要留空。

e.g。我在模型中有一个reward_file和reward_link字段。我需要确保

  1. reward_file和reward_link必须具有值
  2. 两者都不得有值(互斥)
  3. 我正在使用rails 3

    任何人都可以提供解决方案吗?

    示例可以是:

    reward_file有值,reward_link为空#validity

    reward_file为空,reward_link的值为#valid

    reward_file为空,reward_link为空#invalid

    reward_file有价值,reward_link有价值#invalid

1 个答案:

答案 0 :(得分:2)

您正在寻找XOR验证方法。显示了一种可能的解决方案in this question: Validate presence of one field or another (XOR)。希望这是适用的!