22
33namespace KirschbaumDevelopment \NovaInlineRelationship \Rules ;
44
5+ use Illuminate \Support \MessageBag ;
56use Illuminate \Contracts \Validation \Rule ;
67use Illuminate \Support \Facades \Validator ;
78
89class RelationshipRule implements Rule
910{
1011 public $ rules = [];
1112
13+ /**
14+ * @var array
15+ */
16+ protected $ messages ;
17+
18+ /**
19+ * @var array
20+ */
21+ protected $ attributes ;
22+
23+ /**
24+ * @var MessageBag
25+ */
26+ protected $ response ;
27+
1228 /**
1329 * Create a new rule instance.
1430 *
15- * @return void
31+ * @param array $rules
32+ * @param null|mixed $messages
33+ * @param null|mixed $attributes
34+ *
1635 */
17- public function __construct (array $ rules )
36+ public function __construct (array $ rules, $ messages = null , $ attributes = null )
1837 {
1938 $ this ->rules = $ rules ;
39+ $ this ->messages = $ messages ;
40+ $ this ->attributes = $ attributes ;
2041 }
2142
2243 /**
2344 * Determine if the validation rule passes.
2445 *
2546 * @param string $attribute
2647 * @param mixed $value
48+ *
2749 * @return bool
2850 */
2951 public function passes ($ attribute , $ value )
3052 {
3153 $ input = [$ attribute => json_decode ($ value , true )];
3254
33- $ validator = Validator::make ($ input , $ this ->rules );
55+ $ validator = Validator::make ($ input , $ this ->rules , $ this -> messages , $ this -> attributes );
3456
35- $ this ->message = $ validator ->errors ();
57+ $ this ->response = $ validator ->errors ();
3658
3759 return $ validator ->passes ();
3860 }
@@ -44,6 +66,6 @@ public function passes($attribute, $value)
4466 */
4567 public function message ()
4668 {
47- return $ this ->message ;
69+ return $ this ->response ;
4870 }
4971}
0 commit comments