@@ -265,4 +265,40 @@ public function it_validates_nova_translations()
265265
266266 $ this ->assertTrue ($ validation ->passes ());
267267 }
268+
269+ /** @test */
270+ public function it_handles_backslashes_in_values ()
271+ {
272+ Model::create ([
273+ 'slug ' => ['en ' => '\existing-slug-en ' , 'nl ' => '\existing-slug-nl ' ],
274+ 'name ' => ['en ' => '\existing-name-en ' , 'nl ' => '\existing-name-nl ' ],
275+ ]);
276+
277+ $ rules = [
278+ 'slug ' => "{$ this ->rule }: {$ this ->table }" ,
279+ 'name ' => UniqueTranslationRule::for ($ this ->table ),
280+ ];
281+
282+ // The following validation fails, because the
283+ // current locale is "en", so we actually set
284+ // ['en' => '\existing-slug-en'] etc.
285+
286+ $ validation = Validator::make ([
287+ 'slug ' => '\existing-slug-en ' ,
288+ 'name ' => '\existing-name-en ' ,
289+ ], $ rules );
290+
291+ $ this ->assertTrue ($ validation ->fails ());
292+
293+ // The following validation passes, because the
294+ // current locale is "en", so we actually set
295+ // ['en' => '\existing-slug-nl'] etc.
296+
297+ $ validation = Validator::make ([
298+ 'slug ' => '\existing-slug-nl ' ,
299+ 'name ' => '\existing-name-nl ' ,
300+ ], $ rules );
301+
302+ $ this ->assertTrue ($ validation ->passes ());
303+ }
268304}
0 commit comments