If you request a bug to be fixed for a product or package that doesn't exist, the form says "Invalid value", which is not very polite. It would be much more helpful to say:
* "There is no package in xyz named abc. If it should be here, __report this as a bug__."
* "There is no product in Launchpad named abc."
(In the second case we could invite people to create the product, but that would perhaps be a bad idea for someone trying to get a bug fixed, since they're probably trying to get it fixed by someone who doesn't use Launchpad.)
Even better would be "There is no package in xyz named abc. Did you mean __abd__? If abc should be here, __report this as a bug__.", where abd is linked only if JavaScript is available, in which case clicking it changes the field to abd. Implementing that isn't necessary for this bug to be fixed, but if it isn't implemented, it should be reported as a separate bug.
This should wait until the following branch is reviewed (it could be implemented now as you describe, but if accepted this branch provides an improved mechanism with more flexiblility):
<email address hidden> /launchpad- -Zope3FormError Messages- -0