Posted by B-Prod on February 8, 2012 at 12:42pm
6 followers
| Project: | Drupal core |
| Version: | 7.x-dev |
| Component: | field system |
| Category: | bug report |
| Priority: | normal |
| Assigned: | Unassigned |
| Status: | closed (fixed) |
Issue Summary
In the function field_default_form_errors() (field.form.inc file), the following code is used for widgets that do not implement [widget]_field_widget_error() function:form_error($error_element, $error['error']);
On the Drupal API for such function (http://api.drupal.org/api/drupal/modules!field!field.api.php/function/hook_field_widget_error/7), the given example uses form_error($element['value'], $error['message']);.
So there is a consistency issue there, where in the first case the $error['error'] value is used and in the standard case $error['message'].
This causes troubles for example in the Field validation module: http://drupal.org/node/1316368.
Comments
#1
The patch below modifies the fallback error reporting, according to the specifications of the
FieldValidationExceptionclass, where the errors array is clearly defined as:Question: is there a specific reason for using the 'error' key (portability? I may miss something)? If so, then the image widget should implement
image_field_widget_error()function.#2
I agree with this patch entirely. The second argument to
form_errorshould be human readable, so$error['message']should be used, not$error['error'].The example code of
hook_field_widget_error()also demonstrates this.#3
The sample body for
hook_field_widget_errordoes contain a bug:$element['value']should be$element, I made #1614468: hook_field_widget_error example implementation contains error for that.Also, Drupal 8 also contains this bug so I guess a patch must be made for that version first.
#4
Updated the patch for Drupal 8.
#5
yup
#6
Committed to 8.x. Thanks.
#7
This was for Drupal 7 too, wasn't it?
#8
Yes, patch #1 is for Drupal 7.
#9
#1: field-form-error-reporting-fallback-is-wrong-1432732-1.patch queued for re-testing.
#10
Looks like the patch no longer applies.
#11
Here you go.
#12
yup again
#13
Committed to 7.x - thanks! http://drupalcode.org/project/drupal.git/commit/0e89940
#14
Thanks for the commit.
#15
Automatically closed -- issue fixed for 2 weeks with no activity.