Ruby - 创建后验证字段存在

问题描述 投票:0回答:1

是否可以在初始创建后验证字段是否存在? 如果用户想在注册后更新其帐户,我希望强制提供电话号码。

  validates :phone, presence: true, if: .....

如果我使用

on: :update
在填写该字段之前我无法再进行身份验证

ruby-on-rails
1个回答
1
投票

有很多方法可以完成此任务,假设它是由数据库表支持的普通 Rails 模型。从我的头脑中你可以做到:

validates :phone,
          presence: true,
          if: Proc.new{ |model| model.id.present? }

或更重要的是,如果您在保存之前分配 ID,则不会失败:

validates :phone,
          presence: true,
          if: Proc.new{ |model| model.persisted? }
© www.soinside.com 2019 - 2024. All rights reserved.