This sacrifices some functionality (notably the display of field-specific error messages), but with a form layout like this you probably wouldn't want the default anyway.
In cases like this I'll often create "virtual" field error messages--so in an action's validate() method I'll call super.validate(), check for an error on the first or last name, and if present add a field error message for "full_name" or something similar. Then in the form JSP code I'll check for the existence of the pseudo-field error and display it.
I will suppress my every urge. But not this shameless plug:
the new thread boost feature brings a LOT of attention to your favorite threads