我正在为Web应用程序开发API。在一个特定情况下,我面临的情况是,只有当param1的值为false时才需要param2。我能够使用条件语句来实现它。我想知道这种类型的验证是否有任何内置的葡萄方法。下面的一些内容
params do
requires :model_name, type: Hash do
optional :params1
if params1 == false
require :params2
end
end
end
答案 0 :(得分:0)
您可能需要mutually_exclusive
验证,以确保在请求中同时存在给定的参数
params do
requires :model_name, type: Hash do
optional :params1
optional :params2
mutually_exclusive :params1, :params2
end
end
Grape从version 0.8.0
开始支持它还有其他选项,例如exactly_one_of
,all_or_none_of
,at_least_one_of
。 Read more