@@ -1863,6 +1863,74 @@ public function testProhibitedIf()
1863
1863
$ this ->assertSame ('The last field is prohibited when first is jess. ' , $ v ->messages ()->first ('last ' ));
1864
1864
}
1865
1865
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
+
1866
1934
public function testProhibitedUnless ()
1867
1935
{
1868
1936
$ trans = $ this ->getIlluminateArrayTranslator ();
0 commit comments