Skip to content

Commit f2bee3d

Browse files
authored
Merge pull request #33 from tuyakhov/fix_member_names_error
fix member names on error serializing
2 parents 641a17e + d30d750 commit f2bee3d

File tree

2 files changed

+7
-1
lines changed

2 files changed

+7
-1
lines changed

src/Serializer.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,9 @@ protected function serializeModelErrors($model)
295295
$this->response->setStatusCode(422, 'Data Validation Failed.');
296296
$result = [];
297297
foreach ($model->getFirstErrors() as $name => $message) {
298+
$memberName = call_user_func($this->prepareMemberName, $name);
298299
$result[] = [
299-
'source' => ['pointer' => "/data/attributes/{$name}"],
300+
'source' => ['pointer' => "/data/attributes/{$memberName}"],
300301
'detail' => $message,
301302
];
302303
}

tests/SerializerTest.php

+5
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ public function testSerializeModelErrors()
3535
$model->addError('field1', 'Test error');
3636
$model->addError('field2', 'Multiple error 1');
3737
$model->addError('field2', 'Multiple error 2');
38+
$model->addError('first_name', 'Member name check');
3839
$this->assertEquals([
3940
[
4041
'source' => ['pointer' => "/data/attributes/field1"],
@@ -43,6 +44,10 @@ public function testSerializeModelErrors()
4344
[
4445
'source' => ['pointer' => "/data/attributes/field2"],
4546
'detail' => 'Multiple error 1',
47+
],
48+
[
49+
'source' => ['pointer' => "/data/attributes/first-name"],
50+
'detail' => 'Member name check',
4651
]
4752
], $serializer->serialize($model));
4853
}

0 commit comments

Comments
 (0)