Details
Description
Zend_Form
The addErrorMessage method on line #2075 adds an error message to the $_errorMessage array without a key value, hence automatically getting a numeric key.
Zend_Form_Decorator_FormErrors
The _recurseForm method on line #366 parses through a list of errors including the $_errorMessage array from the form to put together the errors. The error messages added through the addErrorMessage method will not get picked up through here as its $key => $value pairs will not meet any of the conditions within the loop.
Solutions:
1. Modify the recurse form loop to handle elements with the numeric key.
2. Specify a key in the addErrorMessage method and specifically handle that key within the _recurseForm method as well.
I just encountered the same problem. My workaround looked something like adding a extra elseif clause to handle these errors within _recurseForm...