Symfony form.vars.data 与 form.vars.value

2022-01-22 00:00:00 forms php symfony twig

A FormView object in Symfony contains several variables, that can be accessed via twig using the public vars property.

Two of those variables are value and data.

So, supposing that we have our form variable in twig, we can access them using form.vars.data and form.vars.value.

The documentation is clear about the meaning of those properties:

  • value: The value that will be used when rendering (commonly the value HTML attribute).

  • data: The normalized data of the type.

but when I use {{ dump(form.vars) }} and compare form.vars.value and form.vars.data they look like identical. Why? What's the correct meaning and proper usage of those two properties?

解决方案

Take for example a DateType field.

Here, value would be something like the string 2016-06-10. data on the other hand would be a corresponding DateTime-Object.

When using Text fields, you will not see any difference because in both cases there will be just a string.

相关文章