Skip to content
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

Fix the validation of an array of objects #40

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Conversation

DavidePastore
Copy link
Owner

@DavidePastore DavidePastore commented Sep 6, 2018

  • Update the source code;
  • Create some tests with nested structures or empty array as input
  • Update the documentation
  • Create a test with an array in POST and another parameter in GET

Close #39.

@tamaspanczel
Copy link

Doesn't work if you mix post array objects with query params:

POST /someurl?test=1
[1,2,3]

in Validation.php: __invoke $params = $request->getParams(); will be:

Array
(
    [test] => 1
    [0] => 1
    [1] => 2
    [2] => 3
)

@DavidePastore
Copy link
Owner Author

DavidePastore commented Oct 6, 2018

Hi @tamaspanczel. Is it related to this PR? If yes, in which way? If not, please create an issue for this problem.

@tamaspanczel
Copy link

Ok, I'll create an issue for this, thx.

@DavidePastore DavidePastore force-pushed the add-array-validation-at-first-position branch from 26f08f3 to 6904fc7 Compare January 3, 2019 15:01
@craig-cogdill
Copy link

Hey @DavidePastore, this doesn't appear to be working as I expected. I think I led you astray with the use of v::each(). I've taken a closer look at the documentation for each() (https://respect-validation.readthedocs.io/en/1.1/rules/Each/) and it seems like the validator iterates over only key:value pairs of an array, not any objects within an array.

Per my feature request (#39), I am trying to validate key:value pairs within an array of objects, so I'm not sure this PR would fix that.

However, it seems like a good enhancement regardless since it allows generic validation of array input such as

[
   "key1": "value1",
   "key2": "value2"
]

I don't have any routes with this format, so I don't think I can verify this PR for you currently.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Validating an array of objects
3 participants