gpt4 book ai didi

ruby-on-rails - Rails 4 事件记录验证 - 有条件地验证 4 个属性的相互依赖的存在

转载 作者:行者123 更新时间:2023-12-04 03:34:49 24 4
gpt4 key购买 nike

我有一个包含 10 个属性的表单。

其中我有 4 个属性,我需要应用我称之为“相互条件存在”的 Active Record 验证。
这些属性是

  • address_line_1
  • 邮政编码
  • 状态
  • 国家

  • 这意味着如果用户填写其中之一,则所有其他人都必须在场

    到目前为止,我只能说,如果用户填写第一个属性“地址行 1”,那么所有其他属性都必须存在。

    但它不会验证所有可能组合中的所有 MUTUAL 存在。例如,如果用户让“地址行 1”为空但填写邮政编码并将其他三个留空,我希望事件记录不要验证表单,因为他应该被要求填写其他三个属性。依此类推每个属性。

    这该怎么做?

    这是我当前的代码

    规范/型号/用户
    validates :address_line_1,
    presence: true,
    length: { maximum: 100,
    minimum: 3 }
    validates :zipcode,
    presence: true, if: :address_line_1?,
    length: { maximum: 20,
    minimum: 4}
    validates :state,
    presence: true, if: :address_line_1?,
    validates :country,
    presence: true, :address_line_1?,
    length: { maximum: 50}

    最佳答案

    只需更换 :address_line?条件检查已填写的字段之一:

      validates :address_line_1,
    presence: true, if: :address_entered?,
    length: { maximum: 100,
    minimum: 3 }
    validates :zipcode,
    presence: true, if: :address_entered?,
    length: { maximum: 20,
    minimum: 4


    validates :state,
    presence: true, if: :address_entered?,
    validates :country,
    presence: true, if: :address_entered?,
    length: { maximum: 50}

    def address_entered?
    address_line_1.present? || zipcode.present? || state.present? || country.present?
    end

    关于ruby-on-rails - Rails 4 事件记录验证 - 有条件地验证 4 个属性的相互依赖的存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30415078/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com