Rails 5 API中必需的参数验证

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

感谢您查看此内容。我有一个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

我需要强制用户使用允许空白的所有参数来执行请求

提前致谢

ruby-on-rails ruby validation activemodel rails-api
3个回答
0
投票

您好,您应该将allow_blank选项添加到您的模型,如下所示:

validates :key presence: true, :allow_blank => true

希望它可以提供帮助


0
投票

从doc您需要指定allow_blank,如:

validates :key1, :presence => true, :uniqueness => { :allow_blank => true, :case_sensitive => false }

希望这可以帮助 !


0
投票

您可以尝试如下:

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

© www.soinside.com 2019 - 2024. All rights reserved.