@@ -1863,6 +1863,74 @@ public function testProhibitedIf()
18631863 $ this ->assertSame ('The last field is prohibited when first is jess. ' , $ v ->messages ()->first ('last ' ));
18641864 }
18651865
1866+ public function testValidateProhibitedAcceptedIf ()
1867+ {
1868+ $ trans = $ this ->getIlluminateArrayTranslator ();
1869+ $ v = new Validator ($ trans , ['foo ' => 'yes ' , 'bar ' => 'baz ' ], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1870+ $ this ->assertTrue ($ v ->fails ());
1871+
1872+ $ trans = $ this ->getIlluminateArrayTranslator ();
1873+ $ v = new Validator ($ trans , ['foo ' => 'on ' , 'bar ' => '' ], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1874+ $ this ->assertTrue ($ v ->passes ());
1875+
1876+ $ trans = $ this ->getIlluminateArrayTranslator ();
1877+ $ v = new Validator ($ trans , ['foo ' => '1 ' , 'bar ' => false ], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1878+ $ this ->assertTrue ($ v ->fails ());
1879+
1880+ $ trans = $ this ->getIlluminateArrayTranslator ();
1881+ $ v = new Validator ($ trans , ['foo ' => 1 , 'bar ' => null ], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1882+ $ this ->assertTrue ($ v ->passes ());
1883+
1884+ $ trans = $ this ->getIlluminateArrayTranslator ();
1885+ $ v = new Validator ($ trans , ['foo ' => 'true ' , 'bar ' => ['baz ' ]], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1886+ $ this ->assertTrue ($ v ->fails ());
1887+
1888+ $ trans = $ this ->getIlluminateArrayTranslator ();
1889+ $ v = new Validator ($ trans , ['foo ' => true ], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1890+ $ this ->assertTrue ($ v ->passes ());
1891+
1892+ // error message
1893+ $ trans = $ this ->getIlluminateArrayTranslator ();
1894+ $ trans ->addLines (['validation.prohibited_if_accepted ' => 'The :attribute field is prohibited when :other is accepted. ' ], 'en ' );
1895+ $ v = new Validator ($ trans , ['foo ' => 'true ' , 'bar ' => 'baz ' ], ['bar ' => 'prohibited_if_accepted:foo ' ]);
1896+ $ this ->assertFalse ($ v ->passes ());
1897+ $ this ->assertSame ('The bar field is prohibited when foo is accepted. ' , $ v ->messages ()->first ('bar ' ));
1898+ }
1899+
1900+ public function testValidateProhibitedDeclinedIf ()
1901+ {
1902+ $ trans = $ this ->getIlluminateArrayTranslator ();
1903+ $ v = new Validator ($ trans , ['foo ' => 'no ' , 'bar ' => 'baz ' ], ['bar ' => 'prohibited_if_declined:foo ' ]);
1904+ $ this ->assertTrue ($ v ->fails ());
1905+
1906+ $ trans = $ this ->getIlluminateArrayTranslator ();
1907+ $ v = new Validator ($ trans , ['foo ' => 'off ' , 'bar ' => '' ], ['bar ' => 'prohibited_if_declined:foo ' ]);
1908+ $ this ->assertTrue ($ v ->passes ());
1909+
1910+ $ trans = $ this ->getIlluminateArrayTranslator ();
1911+ $ v = new Validator ($ trans , ['foo ' => '0 ' , 'bar ' => false ], ['bar ' => 'prohibited_if_declined:foo ' ]);
1912+ $ this ->assertTrue ($ v ->fails ());
1913+
1914+ $ trans = $ this ->getIlluminateArrayTranslator ();
1915+ $ v = new Validator ($ trans , ['foo ' => 0 , 'bar ' => null ], ['bar ' => 'prohibited_if_declined:foo ' ]);
1916+ $ this ->assertTrue ($ v ->passes ());
1917+
1918+ $ trans = $ this ->getIlluminateArrayTranslator ();
1919+ $ v = new Validator ($ trans , ['foo ' => 'false ' , 'bar ' => ['baz ' ]], ['bar ' => 'prohibited_if_declined:foo ' ]);
1920+ $ this ->assertTrue ($ v ->fails ());
1921+
1922+ $ trans = $ this ->getIlluminateArrayTranslator ();
1923+ $ v = new Validator ($ trans , ['foo ' => false ], ['bar ' => 'prohibited_if_declined:foo ' ]);
1924+ $ this ->assertTrue ($ v ->passes ());
1925+
1926+ // error message
1927+ $ trans = $ this ->getIlluminateArrayTranslator ();
1928+ $ trans ->addLines (['validation.prohibited_if_declined ' => 'The :attribute field is prohibited when :other is declined. ' ], 'en ' );
1929+ $ v = new Validator ($ trans , ['foo ' => 'false ' , 'bar ' => 'baz ' ], ['bar ' => 'prohibited_if_declined:foo ' ]);
1930+ $ this ->assertFalse ($ v ->passes ());
1931+ $ this ->assertSame ('The bar field is prohibited when foo is declined. ' , $ v ->messages ()->first ('bar ' ));
1932+ }
1933+
18661934 public function testProhibitedUnless ()
18671935 {
18681936 $ trans = $ this ->getIlluminateArrayTranslator ();
0 commit comments