这取决于您使用的是0.x或更高版本的dry-validation。您的参数名称使我相信:
因此,请使用optional进行验证,并使用virtual: true对属性进行注释(相关文档为here、here和here):
class MyContract < Reform::Form
property :ids, virtual: true
validation do
# for 0.x:
# optional(:ids).each(:int?)
# for 1.x:
optional(:ids).array(:integer)
end
end
在版本0.x上验证数组输入的文档是here,1.x上的文档也是here。