gpt4 book ai didi

ruby-on-rails - Rails,验证警告

转载 作者:行者123 更新时间:2023-12-05 08:01:34 24 4
gpt4 key购买 nike

您好,我想做的是创建一个“软”验证,换句话说,而不是我验证失败并且不将数据保存到数据库,我希望验证向用户发出警告并允许用户可以选择保存错误数据。但是验证者会在之前给他们一个警告。

我想做如下的事情:

class MyModel < ActiveRecord::Base
warnings do
validate :warnings_validation
end

def warnings_validation
warnings.add(:name_of_element, "warning message") unless x == x
end
end

我的模型使用了很多继承,所以像 validations_scope 这样的 gem 不知道我能做什么/用什么?

最佳答案

我相信您可以从 ActiveModel::Error example 中获得启发。实现警告功能。

解释:

如果您查看 Active Record 中的数据验证方式,只需查看 valid? 方法:

  def valid?(context = nil)
context ||= default_validation_context
output = super(context)
errors.empty? && output
end

上下文和输出并不重要,重要的是 valid? 方法检查 errors 实例变量是否为空。

换句话说,在我给你的上一个链接中,只需将 errors 实例变量重命名为 warnings 就可以解决问题。您必须使用内置的 Rails 创建自定义验证器,然后在需要时简单地调用 warnings.add(:name, "error")。它应该在填充 warnings 变量时保存记录。

关于ruby-on-rails - Rails,验证警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13030326/

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