@@ -3880,6 +3880,32 @@ public function testPassingSlashVulnerability()
3880
3880
$ this ->assertTrue ($ v ->fails ());
3881
3881
}
3882
3882
3883
+ public function testPlaceholdersAreReplaced ()
3884
+ {
3885
+ $ trans = $ this ->getIlluminateArrayTranslator ();
3886
+
3887
+ $ v = new Validator ($ trans , [
3888
+ 'matrix ' => ['\\' => ['invalid ' ], '1 \\' => ['invalid ' ]],
3889
+ ], [
3890
+ 'matrix.*.* ' => 'integer ' ,
3891
+ ]);
3892
+ $ this ->assertTrue ($ v ->fails ());
3893
+
3894
+ $ v = new Validator ($ trans , [
3895
+ 'matrix ' => ['\\' => [1 ], '1 \\' => [1 ]],
3896
+ ], [
3897
+ 'matrix.*.* ' => 'integer ' ,
3898
+ ]);
3899
+ $ this ->assertTrue ($ v ->passes ());
3900
+
3901
+ $ v = new Validator ($ trans , [
3902
+ 'foo ' => ['bar ' => 'valid ' ], 'foo.bar ' => 'invalid ' , 'foo->bar ' => 'valid ' ,
3903
+ ], [
3904
+ 'foo\.bar ' => 'required|in:valid ' ,
3905
+ ]);
3906
+ $ this ->assertTrue ($ v ->fails ());
3907
+ }
3908
+
3883
3909
public function testCoveringEmptyKeys ()
3884
3910
{
3885
3911
$ trans = $ this ->getIlluminateArrayTranslator ();
@@ -3891,35 +3917,8 @@ public function testImplicitEachWithAsterisksWithArrayValues()
3891
3917
{
3892
3918
$ trans = $ this ->getIlluminateArrayTranslator ();
3893
3919
3894
- $ v = new Validator ($ trans , ['foo ' => [1 , 2 , 3 ]], ['foo ' => 'size:4 ' ]);
3895
- $ this ->assertFalse ($ v ->passes ());
3896
-
3897
- $ v = new Validator ($ trans , ['foo ' => [1 , 2 , 3 , 4 ]], ['foo ' => 'size:4 ' ]);
3898
- $ this ->assertTrue ($ v ->passes ());
3899
-
3900
- $ v = new Validator ($ trans , ['foo ' => [1 , 2 , 3 , 4 ]], ['foo.* ' => 'integer ' , 'foo.0 ' => 'required ' ]);
3901
- $ this ->assertTrue ($ v ->passes ());
3902
-
3903
- $ v = new Validator ($ trans , ['foo ' => [['bar ' => [1 , 2 , 3 ]], ['bar ' => [1 , 2 , 3 ]]]], ['foo.*.bar ' => 'size:4 ' ]);
3904
- $ this ->assertFalse ($ v ->passes ());
3905
-
3906
- $ v = new Validator ($ trans ,
3907
- ['foo ' => [['bar ' => [1 , 2 , 3 ]], ['bar ' => [1 , 2 , 3 ]]]], ['foo.*.bar ' => 'min:3 ' ]);
3908
- $ this ->assertTrue ($ v ->passes ());
3909
-
3910
- $ v = new Validator ($ trans ,
3911
- ['foo ' => [['bar ' => [1 , 2 , 3 ]], ['bar ' => [1 , 2 , 3 ]]]], ['foo.*.bar ' => 'between:3,6 ' ]);
3912
- $ this ->assertTrue ($ v ->passes ());
3913
-
3914
- $ v = new Validator ($ trans ,
3915
- ['foo ' => [['name ' => 'first ' , 'votes ' => [1 , 2 ]], ['name ' => 'second ' , 'votes ' => ['something ' , 2 ]]]],
3916
- ['foo.*.votes ' => ['Required ' , 'Size:2 ' ]]);
3917
- $ this ->assertTrue ($ v ->passes ());
3918
-
3919
- $ v = new Validator ($ trans ,
3920
- ['foo ' => [['name ' => 'first ' , 'votes ' => [1 , 2 , 3 ]], ['name ' => 'second ' , 'votes ' => ['something ' , 2 ]]]],
3921
- ['foo.*.votes ' => ['Required ' , 'Size:2 ' ]]);
3922
- $ this ->assertFalse ($ v ->passes ());
3920
+ $ v = new Validator ($ trans , ['foo ' => ['bar.baz ' => '' ]], ['foo ' => 'required ' ]);
3921
+ $ this ->assertEquals (['foo ' => ['bar.baz ' => '' ]], $ v ->validated ());
3923
3922
}
3924
3923
3925
3924
public function testValidateNestedArrayWithCommonParentChildKey ()
0 commit comments