File tree Expand file tree Collapse file tree 3 files changed +19
-9
lines changed Expand file tree Collapse file tree 3 files changed +19
-9
lines changed Original file line number Diff line number Diff line change @@ -63,19 +63,21 @@ public function getFieldStackFromField(Field $field)
63
63
public function validation ($ stack = null , $ skipChecks = false ): array
64
64
{
65
65
$ rules = collect ([]);
66
+ $ messages = collect ([]);
66
67
$ fields = $ stack ?? collect ($ this ->fieldStack ());
67
68
68
- $ fields ->each (function (Field $ value ) use (&$ rules , $ skipChecks ) {
69
+ $ fields ->each (function (Field $ value ) use (&$ rules , & $ messages , $ skipChecks ) {
69
70
if ($ skipChecks || $ value ->conditionalCheck ()) {
70
- if ($ value ->containsFile ) {
71
- $ rules ->put ('files. ' . $ value ->getName (), $ value ->rules ?? '' );
72
- } else {
73
- $ rules ->put ('fields. ' . $ value ->getName (), $ value ->rules ?? '' );
74
- }
71
+ $ target = ($ value ->containsFile ? 'files ' : 'fields ' );
72
+ $ rules ->put ($ target . '. ' . $ value ->getName (), $ value ->rules ?? '' );
73
+ $ messages ->put ($ target . '. ' . $ value ->getName (), $ value ->validationMessages ?? '' );
75
74
}
76
75
});
77
76
78
- return $ rules ->toArray ();
77
+ return [
78
+ 'rules ' => $ rules ->toArray (),
79
+ 'messages ' => $ messages ->filter ()->toArray (),
80
+ ];
79
81
}
80
82
81
83
public function stepValidation ($ step ): array
Original file line number Diff line number Diff line change @@ -28,6 +28,7 @@ class FormController extends Component
28
28
public array $ syncs = [];
29
29
public array $ flashes = [];
30
30
31
+ protected array $ messages = [];
31
32
protected null | Form $ form = null ;
32
33
protected array $ fieldStack = [];
33
34
@@ -99,7 +100,10 @@ public function setFields($doCheck = true)
99
100
// Get and set the validation rules
100
101
public function setValidation ()
101
102
{
102
- $ this ->validation = $ this ->getForm ()->validation ();
103
+ $ validation = $ this ->getForm ()->validation ();
104
+
105
+ $ this ->validation = $ validation ['rules ' ] ?? [];
106
+ $ this ->messages = $ validation ['messages ' ] ?? [];
103
107
}
104
108
105
109
public function getForm ()
Original file line number Diff line number Diff line change @@ -27,6 +27,10 @@ public function goToStep($index)
27
27
public function validateStep ($ step = null )
28
28
{
29
29
$ validation = $ this ->getForm ()->stepValidation ($ step ?? $ this ->step );
30
- $ this ->validate ($ this ->parseNamespaceRules ($ validation ));
30
+
31
+ $ this ->validate (
32
+ $ this ->parseNamespaceRules ($ validation ['rules ' ]),
33
+ $ validation ['messages ' ],
34
+ );
31
35
}
32
36
}
You can’t perform that action at this time.
0 commit comments