自定义Forms / FormErrors

时间:2017-01-13 11:32:46

标签: symfony symfony-forms fosrestbundle jmsserializerbundle

我想在我的应用程序中自定义所有SymfonyForms的JSON输出。由于这是我第一次构建这样的应用程序,因此我不确定将代码放入的最佳位置。现在我看到两个选项:

  1. FOSRestBundle中的自定义处理程序,如here
  2. 所述
  3. JMSSerializerBundle中的处理程序here
  4. 我想这两种方式都可以完成工作,但在灵活性和可维护性方面我应该选择哪一种方式。如上所述,我想更改所有表单的输出和我的应用程序中的验证错误。如果提供一个小例子,那将是非常好的。

    现在,如果发生验证错误,我会得到此输出:

    {
      "code": 400,
      "message": "Validation Failed",
      "errors": {
        "children": {
          "username": {},
          "password": {
            "children": {
              "first": {},
              "second": {}
            }
          },
          "email": {
            "errors": ["This value is already used."]
          }
        }
      }
    }
    

    并希望有类似的东西:

    {
      "code": …,
      "message": …,
      "errors": {
        "<formname>": {
          …
          "email": "This value is already used." //errors concatenated to a string
          …
        }
      }
    }
    

    提前致谢!

0 个答案:

没有答案