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]

Reply via email to