I don't think you want an Action doing the validation, but I am with you that validation does not belong to ActionForm. You don't have to do it there, by the way.
Jack On Fri, 18 Mar 2005 17:17:39 +0000, Lawrie Gallardo <[EMAIL PROTECTED]> wrote: > I'm still relatively new to Struts, but I can't help but feel that > validation would be better performed by Action classes rather than > ActionForm classes. > > It seems to me that, ideally, you want > 1. Validation, > 2. Transformations (ie convert separate day, month and year HTML fields to > Java Date object), and > 3. Mapping of ActionForm fields (/HTML parameters) to Domain POJOs / DTOs > to all be configured in the same config file (to minimise duplication) and > to be implemented in the same class rather than scattered between multiple > config files and classes. > > Now, if my understanding is correct: > 1. There is always a one-to-one mapping between an ActionForm and an > ActionMapping, > 2. Struts best practice is to have each Action class handle all possible > operations for the HTML request it deals with using DispatchLookupAction or > something similar, > 3. Almost noone creates ActionForms manually any more - they use > DynaActionForm (or validating variations of this). And for those who do > still create ActionForms manually, they don't offer anything in the way of > reuse, and are basically throw-away classes. > > Now if this is the case, would it not be better to have the ActionForm as > basically a dum data holder and have the validation method in the Action > classes instead? The strus-config.xml file could contain all the required > declarative validation, transformation and mapping info, and the Action > class could contain any validation, transformation, and mapping operations > that were too complicated to be set up declaratively. > > Is it just down to design decisions made in early versions of Struts and > backward compatibility that things are the way they are? Or are there good > arguments for having the validation method in ActionForm? Am I missing > something here? > > _________________________________________________________________ > Stay in touch with absent friends - get MSN Messenger > http://www.msn.co.uk/messenger > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- "You can lead a horse to water but you cannot make it float on its back." ~Dakota Jack~ --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]