It looks like Zend_Filter_Input, for some reason, automatically runs a NotEmpty validator on every field. The message you're seeing is Zend_Filter_Input's NOT_EMPTY_MESSAGE.
Setting the ALLOW_EMPTY meta command will get rid of it, but, of course, won't run your own NotEmpty validator. I haven't figured out a way to override this, though. And customizing NOT_EMPTY_MESSAGE is out of the question, because I want per-field messages (that don't reference the field name). Does anyone have a solution? On Thu, Aug 20, 2009 at 10:59 AM, David Mintz <da...@davidmintz.org> wrote: > I could use some help figuring out how to override the default validation > error messages with my own. Consider this snippet, based on the example in > the docs: > > > $validators = array( > 'month' => array( > 'NotEmpty', > 'Digits', > 'messages' => array( > 0 =>'my custom message: this is empty', > 1=>'my custom message: this ain\'t digits!'), > ) > ); > $input = new Zend_Filter_Input(null,$validators, > array( > 'month'=>'' > ) > ); > if ($input->isValid()) { > echo "input is valid\n" ; > } else { > print_r($input->getMessages()); > } > > > Output when I run this in 1.7.8: > > Array > ( > [month] => Array > ( > [isEmpty] => my custom message: this is empty yo > [stringEmpty] => '' is an empty string > ) > > ) > > Output when I run this in 1.9.0: (undesired): > > > Array > ( > [month] => Array > ( > [isEmpty] => You must give a non-empty value for field 'month' > ) > > ) > > I am having this problem with several Zend validation classes, not just > Zend_Validate_NotEmpty. Any help is much appreciated. > > -- > David Mintz > http://davidmintz.org/ > > The subtle source is clear and bright > The tributary streams flow through the darkness >