Skip to content

Commit 7858566

Browse files
committed
Laravel validation: support nested validation messages
1 parent 569371b commit 7858566

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/functions_laravel.php

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ function rules($rules, array $messages = [], array $customAttributes = [])
2727
return function (callable $fail, $value, $model, Context $context, Field $field) use ($rules, $messages, $customAttributes) {
2828
$key = $field->getName();
2929
$validationRules = [$key => []];
30+
$validationMessages = [$key => []];
3031

3132
foreach ($rules as $k => $v) {
3233
if (! is_numeric($k)) {
@@ -36,7 +37,15 @@ function rules($rules, array $messages = [], array $customAttributes = [])
3637
}
3738
}
3839

39-
$validation = Validator::make($value !== null ? [$key => $value] : [], $validationRules, $messages, $customAttributes);
40+
foreach ($messages as $k => $v) {
41+
if (! is_numeric($k)) {
42+
$validationMessages[$key.'.'.$k] = $v;
43+
} else {
44+
$validationMessages[$key][] = $v;
45+
}
46+
}
47+
48+
$validation = Validator::make($value !== null ? [$key => $value] : [], $validationRules, $validationMessages, $customAttributes);
4049

4150
if ($validation->fails()) {
4251
foreach ($validation->errors()->all() as $message) {

0 commit comments

Comments
 (0)