gpt4 book ai didi

ruby-on-rails - rails : get validation ranges programmatically

转载 作者:行者123 更新时间:2023-12-02 22:37:25 24 4
gpt4 key购买 nike

我在模型中设置了验证:

validates_inclusion_of :height, :in => 36..96, :allow_nil => true, :message => 'must be between 3 and 8 feet'

现在我想在 JQ 验证中设置相同的验证范围。我可以在 JavaScript 文件中重复相同的值,但更好的方法是以编程方式获取验证范围并通过 View 输出它。

如果可能的话,如何在 Rails 中以编程方式获取验证范围?

最佳答案

您可以像这样访问模型的验证:

Model.validators

要获取这些特定值,例如:

Model.validators_on(:height).select {|v| v.class == ActiveModel::Validations::InclusionValidator}.first.options[:in]

将返回您的范围:

36..96

您可以使用 Range#minRange#max获取整数值。

为了方便起见,制作如下几个方法:

class Model < ActiveRecord::Base
validates_inclusion_of :height, :in => 36..96, :allow_nil => true, :message => 'must be between 3 and 8 feet'

def self.min_height
validators_on(:height).select {|v| v.class == ActiveModel::Validations::InclusionValidator}.first.options[:in].min
end
end

关于ruby-on-rails - rails : get validation ranges programmatically,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11264965/

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