Laravel validation: support nested validation messages
This commit is contained in:
parent
569371b4d2
commit
7858566e1e
|
|
@ -27,6 +27,7 @@ function rules($rules, array $messages = [], array $customAttributes = [])
|
||||||
return function (callable $fail, $value, $model, Context $context, Field $field) use ($rules, $messages, $customAttributes) {
|
return function (callable $fail, $value, $model, Context $context, Field $field) use ($rules, $messages, $customAttributes) {
|
||||||
$key = $field->getName();
|
$key = $field->getName();
|
||||||
$validationRules = [$key => []];
|
$validationRules = [$key => []];
|
||||||
|
$validationMessages = [$key => []];
|
||||||
|
|
||||||
foreach ($rules as $k => $v) {
|
foreach ($rules as $k => $v) {
|
||||||
if (! is_numeric($k)) {
|
if (! is_numeric($k)) {
|
||||||
|
|
@ -36,7 +37,15 @@ function rules($rules, array $messages = [], array $customAttributes = [])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$validation = Validator::make($value !== null ? [$key => $value] : [], $validationRules, $messages, $customAttributes);
|
foreach ($messages as $k => $v) {
|
||||||
|
if (! is_numeric($k)) {
|
||||||
|
$validationMessages[$key.'.'.$k] = $v;
|
||||||
|
} else {
|
||||||
|
$validationMessages[$key][] = $v;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$validation = Validator::make($value !== null ? [$key => $value] : [], $validationRules, $validationMessages, $customAttributes);
|
||||||
|
|
||||||
if ($validation->fails()) {
|
if ($validation->fails()) {
|
||||||
foreach ($validation->errors()->all() as $message) {
|
foreach ($validation->errors()->all() as $message) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue