Frank W. Zammetti <fzlists <at> omnytex.com> writes: > What you describe is more or less typical... Some points on it: > > (1) I don't know what your control looks like or how it is structured, > but I'd ask if you really need the hidden inputs? If it's a fully > graphical calendar (as mine typically are), then I can see the need, but > if by chance you already have input elements that the user uses for > instance, it may be redundant.
The Calendar is a GUI one. It displays all the days of a month in a table so that a user can simply click to select one. > (2) The usual flow of events in Struts, at least the relevant part of it > here, is that your ActionForm object is populated with the request > parameters by calling setters that match up with the parameter names > (i.e., <input type="hidden" name="year"> will call setYear() in your > ActionForm) BEFORE the validate() method is called. Struts does this > for you. So, you don't have to read them out of request yourself, just > call the appropriate getters (or access the private members directly in > validate(), whichever you prefer). What I put in the JSP page is like this: <calendar property="myCalendar" /> I want the Calendar control to collect the selected date and send this information back to the server. > (3) Usually, in your Action Mappings in struts-config.xml, you specify > an "input" parameter of a mapping. What happens is that if you return > errors from validate(), the request will be sent back to the input page. > If no errors are returned, the specifed Action is THEN called. This > flow is, generally, what you'd want. Sounds like it would probably suit > your needs fine too. Those pure HTML controls work very well with this approach. But how can my custom control work like this? > So, in short, what you describe is basically what you probably want to > do, however... the validate() method is *usually* used to catch things > like mandatory fields not filled in, or a from date falling after a to > date, in simpler terms, things that aren't really consider "business > rules". You didn't specify in what way you'd validate the entered > M/D/Y, and technically you can do anything you want in validate(), even > access a database if you want... but from an architectural standpoin, > you probably want to think about what the validation is... if it's > something you'd consider a "business rule" (i.e., entered M/D/Y cannot > be before January, 2003 for company A, and not before December, 2004 for > company B), then you most likely don't want to handle it in validate(), > instead handle it in an Action and just have a <forward> element that > returns to your input page (or a separate error page if more applicable). The validation for now is just to validate that the user selects a day within the current week. > Does that help Peter? Thanks for your quick reply. Peter --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]