Hi Erik, Actually, I do have a more complicated scenario. I tried your idea using JavaScript to set the action and it worked perfectly. Thanks a lot.
-----Original Message----- From: Erik Weber [mailto:[EMAIL PROTECTED] Sent: Wednesday, April 20, 2005 12:51 PM To: Struts Users Mailing List Subject: Re: requiredif tarek.nabil wrote: >Thanks Erik. > >I like the idea of using the same action with different URLs but how do >you do that? The only way I can think of is changing the action of the >form when clicking any of the buttons using JavaScript, is that what >you meant? > > Well that is a common way to do it. I was thinking of the typical case of add vs. update -- two actions that could share the same page, ActionForm and Action. Here you don't need JavaScript. There are two GET requests for the page, something like "/controller/viewAdd" and "/controller/viewUpdate". When the user requests the add page, you set the form action to "/controller/saveAdd", and when the user requests the update page, you set the form action to "/controller/saveUpdate", or something like that, dynamically: <html:form action="${action}" focus="foo"> However, it sounds like you have a more complicated scenario, so I don't know whether you would be forced to change the action URL with JavaScript in your case. Erik >Actually, for our client, clientside validations are more important >than server-side ones. The reason I'm doing server-side validations is >that I know that client-side validations can be circumvented and I >don't want that to cause an error screen to appear. > >As for validwhen, I think it's worth giving it a shot to see if it can >be plugged in as a custom validator. > >-----Original Message----- >From: Erik Weber [mailto:[EMAIL PROTECTED] >Sent: Wednesday, April 20, 2005 8:50 AM >To: Struts Users Mailing List >Subject: Re: requiredif > > > >tarek.nabil wrote: > > > >>Hi Erik, >> >>Actually after some reasoning about the application I came to a >>conclusion that I will not use the integration between Struts and the >>Validator framework. I might still use the ready made validators, but >>I >> >> > > > >>will call them explicitly. >> >> >> >> > >Yeah don't forget that you can still use the Validator plugin on the >server side, even if you don't use the Validator brand of ActionForms. >See Rick Reumann's site for examples of this (if I'm not mistaken; I >know he uses this technique). > > > >>The reason is, the pages in the application are designed to do search, >>add, edit and delete functionalities in the same page. We do this >>using >> >> > > > >>the same form, and the button the user presses is what determines the >>operation. This makes all the validations kind of conditional. For >>example, the id will be mandatory if you're deleting but the name will >>be mandatory if you're adding and so on. As a result, to support this, >>I will have to declare all my required validations using requiredif >>since usually most validations depend on required. >> >> >> >> > >Well, there is an easy way to conquer this problem -- you just use >multiple action mappings for the same Action that use the same >ActionForm. All you need is a different URL then. Each action mapping >has a different name (an alias to the same ActionForm) -- triggering a >different section of your validation.xml file to be used for validation. > >This way you can validate only the fields required for the given use >case, and yet you have a single Action and a single ActionForm, and >even a single form JSP. Have you considered this? > > > > >>Since requiredif does not have a clientside script part, that means I >>will only benefit from server side validation, that's problem number >>one. >> >> >> > >But client side validation is only a luxury for the user while server >side validation is mandatory, so I don't understand your statement here. > > > >>Problem number two is that declaring all required validations as >>requiredif will be very time consuming, since the syntax for >>requiredif >> >> > > > >>is a bit awkward and very verbose. Adding the fact that requiredif is >>not supported in the version I'm using makes the integration almost >>meaningless. As you see, no clientside, time consuming simple >>validations and above all, it's not currently working. That led me to >>the decision to just write my own validation code in the validate >>method. >> >> >> >> > >I'm really confused about what you are trying to do here. requiredif is >for a case where, for example, you have a drop down box paired with a >text field. You only want the text field value to be validated if the >drop down box value is equal to "foo". Are you trying to use it to >accomplish something else? (Like what I describe in my second >paragraph?) > > > >>The only thing that would make me change my mind is if I were able to >>use validwhen with 1.1b2. Only then will this make sense, although >>even >> >> > > > >>in this case I would still have to write my own clientside validations. >>Or wouldn't I? Depends on whether validwhen generates javascript for >>clientside validation. Does it do that? And do you think this is >>possible? >> >> >> >> > >I won't comment on the client side validation, because I don't use it. >The only client side validation I tend to use (if at all) is a blank >field check when the form happens to be very large, unless of course my >customer wants something else. If the customer wants something else, I >give him a desktop application. :) > >I also don't know about retrofitting validwhen for 1.1, but again, the >idea arises that perhaps you could embed validwhen (or something just >like it) as a custom validator? Does the version of Struts you are >using support custom validators? > >Hope that helps, > >Erik > > > >>Thanks >> >>-----Original Message----- >>From: Erik Weber [mailto:[EMAIL PROTECTED] >>Sent: Tuesday, April 19, 2005 7:54 PM >>To: Struts Users Mailing List >>Subject: Re: requiredif >> >>Oh, I'm sorry. I pulled that from the last release of 1.1. Zoinks, you >>are stuck with a pre-1.1 version? Perhaps you could write a custom >>validator plugin that basically does the same thing? >> >>tarek.nabil wrote: >> >> >> >> >> >>>Hi Erik, >>> >>>I tried it and it didn't work. I checked out the validator and struts >>>jar files and it turned out that the >>>org.apache.struts.validator.FieldChecks class does not exist in >>>either >>> >>> > > > >>>of them. Is it possible that it was introduced after 1.1b2? I'm sure >>>it's in RC1 because I'm using the documentation shipped in 1.1RC1. >>> >>>Thanks again for your help. >>> >>>-----Original Message----- >>>From: tarek.nabil >>>Sent: Tuesday, April 19, 2005 7:41 PM >>>To: Struts Users Mailing List >>>Subject: RE: requiredif >>> >>>Thanks Erik. >>> >>>I was wondering, is there a client side JavaScript part? >>> >>>Also, is it possible to use validwhen with the old versions of struts >>>(1.1b2). >>> >>>Thanks for your help. >>> >>>-----Original Message----- >>>From: Erik Weber [mailto:[EMAIL PROTECTED] >>>Sent: Tuesday, April 19, 2005 3:24 PM >>>To: Struts Users Mailing List >>>Subject: Re: requiredif >>> >>> >>> <!-- requiredif --> >>> <validator name="requiredif" >>> classname="org.apache.struts.validator.FieldChecks" >>> method="validateRequiredIf" >>> methodParams="java.lang.Object, >>> >>>org.apache.commons.validator.ValidatorAction, >>> org.apache.commons.validator.Field, >>> org.apache.struts.action.ActionErrors, >>> org.apache.commons.validator.Validator, >>> javax.servlet.http.HttpServletRequest" >>> msg="errors.required"/> >>> >>> >>>Erik >>> >>> >>>tarek.nabil wrote: >>> >>> >>> >>> >>> >>> >>> >>>>Hi, >>>> >>>>I'm stuck with Struts 1.1b2 and I need to do some conditional >>>>validation. AFAIK, the way to do this for this version is using the >>>>requiredif validator. The problem is, I cannot find any reference >>>>information on how to add this validator to the validator-rules.xml >>>>configuration file. >>>> >>>>Please advise on how to do this and if there's a better way to do >>>>this >>>> >>>> >>>> >>>> >> >> >> >> >>>>with this old version. For example, is it possible to configure the >>>>old >>>> >>>> >>>> >>>> >>>> >>>> >>> >>> >>> >>> >>>>Struts/Validator versions to use validwhen? >>>> >>>>Any help is appreciated. >>>> >>>>Tarek Nabil >>>> >>>> >>>>-------------------------------------------------------------------- >>>>- To unsubscribe, e-mail: [EMAIL PROTECTED] >>>>For additional commands, e-mail: [EMAIL PROTECTED] >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>> >>>--------------------------------------------------------------------- >>>To unsubscribe, e-mail: [EMAIL PROTECTED] >>>For additional commands, e-mail: [EMAIL PROTECTED] >>> >>> >>> >>> >>> >>> >>> >>> >>--------------------------------------------------------------------- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> > >--------------------------------------------------------------------- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]