-
-
Notifications
You must be signed in to change notification settings - Fork 5.2k
add error_mapping form option documentation #2694
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
267105f
Create error_mapping.rst.inc
docteurklein 54f0d44
include references to error_mapping in field inheritance
docteurklein 61f8403
align table pipes
docteurklein b634bbc
wrap lines
docteurklein fe31fd2
move versionadded to top of the file
docteurklein File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next
Next commit
Create error_mapping.rst.inc
| Q | A | ------------- | --- | Doc fix? | yes | New docs? | yes | Applies to | 2.1+ | Fixed tickets | ~ see http://symfony.com/blog/form-goodness-in-symfony-2-1#error-mapping-fu
- Loading branch information
commit 267105f515a377a03e5fa0422f35602f78ad7f86
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
error_mapping | ||
~~~~~~~~~~~~~ | ||
|
||
**type**: ``array`` **default**: ``empty`` | ||
|
||
This option permits to modify the default target of errors. | ||
|
||
Imagine a custom method named ``matchingCityAndZipCode`` validates whether the city and zip code matches. | ||
Unfortunately, there is no "matchingCityAndZipCode" field in your form, | ||
so all that Symfony can do for you is display the error on top of the form. | ||
|
||
With customized error mapping, you can do better: make the error be mapped to the city field. | ||
|
||
Here are to understand the left and the right side of the mapping: | ||
|
||
* The left side contains property paths. | ||
* If the violation is generated on a property or method of a class, its path is simply propertyName. | ||
* If the violation is generated on an entry of an array or ArrayAccess object, the property path is [indexName]. | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. put those classnames and code things inside literals (double quotes) |
||
* You can construct nested property paths by concatenating them, separating properties by dots, | ||
* for example: addresses[work].matchingCityAndZipCode | ||
*The right side contains simply the names of fields in the form. | ||
* The left side of the error mapping also accepts a dot ., which refers to the field itself. | ||
That means that any error added to the field is added to the given nested field instead. |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Here are the rules to understand.