-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Error when validating array items with different conditionally required properties #2473
Comments
Check whether this is still the behavior on HEAD and turn it into a (failing) PR/spec? Note that your post may need a correct |
I checked it on the latest commit and just have rechecked with passing |
Here is the PR with failing spec: #2474 |
params do
requires :items, type: Array, allow_blank: false do
requires :item_type, type: String, allow_blank: false
given item_type: ->(val) { val == 'type_a' } do
requires :inner_items, type: Array do
requires :prop_a, type: String
end
end
given item_type: ->(val) { val == 'type_b' } do
requires :inner_items, type: Array do
requires :prop_b, type: String
end
end
end
end Looks like condition |
And it works for nested hashes? Want to try to fix it? |
No, it also doesn't work for nested hashes. |
Hello,
If we define different properties required for array items by given condition then validation fails even if correct request is sent.
Please check the example below:
Expected behavior: 200 OK
Actual behavior: 400 Bad request, "inner3[1][baz][0][new_category] is missing, inner3[1][baz][0][baz_category] is missing"
Thank you.
The text was updated successfully, but these errors were encountered: