Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace Xxx\Component\HttpFoundation;
- use Symfony\Component\Form\Form;
- use Symfony\Component\HttpFoundation\JsonResponse;
- class JsonFormResponse extends JsonResponse
- {
- public function __construct(Form $data, $status = 422, $headers = array())
- {
- $errors = [$data->getName() => []];
- if (count($formErrors = $this->getFormErrors($data))) {
- $errors[$data->getName()] = [
- 'errors' => $formErrors
- ];
- }
- foreach ($data as $field) {
- if (count($fieldErrors = $this->getFormErrors($field))) {
- $errors[$data->getName()][$field->getName()] = [
- 'errors' => $fieldErrors
- ];
- }
- }
- parent::__construct($errors, $status, $headers);
- }
- private function getFormErrors($form) {
- $errors = [];
- foreach ($form->getErrors() as $error) {
- $errors[] = $error->getMessageTemplate();
- }
- return $errors;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement