感谢您查看此内容。我有一个rails 5 API应用程序。我正在使用ActiveModel Validations来验证params。我需要验证参数的关键。即。所有的密钥都是强制性的,以保持请求的结构唯一,但它可以是空白的(即值)我知道
validates :key presence: true
验证,但它检查有一个值。正如我所说,它可以有空白值。
我正在使用params.permit,因此不允许使用其他密钥
include ActiveModel::Validations
validates :key1, presence: true
def initialize
@key1 = "val"
@key2 = "val2"
params.permit(:key1,:key2)
end
我需要强制用户使用允许空白的所有参数来执行请求
提前致谢
您好,您应该将allow_blank选项添加到您的模型,如下所示:
validates :key presence: true, :allow_blank => true
希望它可以提供帮助
从doc您需要指定allow_blank,如:
validates :key1, :presence => true, :uniqueness => { :allow_blank => true, :case_sensitive => false }
希望这可以帮助 !
您可以尝试如下:
validates :key, presence: true, allow_blank: true
allow_blank:The :allow_blank option is similar to the :allow_nil option.This option will let validation pass if the attribute's value is blank?, like nil or an empty string for example.
注意:将允许nil
值