@@ -12,7 +12,7 @@ class ValidatorException extends \Magento\Framework\Exception\InputException
12
12
/**
13
13
* @var array
14
14
*/
15
- protected $ _messages ;
15
+ protected $ messages = [] ;
16
16
17
17
/**
18
18
* Constructor
@@ -29,29 +29,46 @@ public function __construct(
29
29
array $ messages = []
30
30
) {
31
31
if (!empty ($ messages )) {
32
- $ this ->_messages = $ messages ;
33
32
$ message = '' ;
34
- foreach ($ this -> _messages as $ propertyMessages ) {
33
+ foreach ($ messages as $ propertyMessages ) {
35
34
foreach ($ propertyMessages as $ propertyMessage ) {
36
35
if ($ message ) {
37
36
$ message .= PHP_EOL ;
38
37
}
39
38
$ message .= $ propertyMessage ;
39
+ $ this ->addMessage (new \Magento \Framework \Message \Error ($ propertyMessage ));
40
40
}
41
41
}
42
- } else {
43
- $ this ->_messages = [$ message ];
44
42
}
45
43
parent ::__construct ($ message , $ params , $ cause );
46
44
}
47
45
48
46
/**
49
- * Get validation error messages
50
- *
47
+ * @param \Magento\Framework\Message\AbstractMessage $message
48
+ * @return $this
49
+ */
50
+ public function addMessage (\Magento \Framework \Message \AbstractMessage $ message )
51
+ {
52
+ if (!isset ($ this ->messages [$ message ->getType ()])) {
53
+ $ this ->messages [$ message ->getType ()] = [];
54
+ }
55
+ $ this ->messages [$ message ->getType ()][] = $ message ;
56
+ return $ this ;
57
+ }
58
+
59
+ /**
60
+ * @param string $type
51
61
* @return array
52
62
*/
53
- public function getMessages ()
63
+ public function getMessages ($ type = '' )
54
64
{
55
- return $ this ->_messages ;
65
+ if ('' == $ type ) {
66
+ $ arrRes = [];
67
+ foreach ($ this ->messages as $ messages ) {
68
+ $ arrRes = array_merge ($ arrRes , $ messages );
69
+ }
70
+ return $ arrRes ;
71
+ }
72
+ return isset ($ this ->messages [$ type ]) ? $ this ->messages [$ type ] : [];
56
73
}
57
74
}
0 commit comments