You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Li <am...@gmail.com> on 2006/09/21 12:27:26 UTC

Re: Validation on String[]

hi,
there is no such type : java.lang.String[], try to use List or ArrayList

On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
>
> Hi,
>
> I have used a dyna form in which I have a property which is a
> multi-select pick list defined as
>
> form-property name="location" type="java.lang.String[]
>
> Now I want to put validation (required and/or mask) on this. Can anyone
> please guide me. I want it to show an error if the user clicks on submit
> button without selecting anything in the picklist. I have handled this
> validation in my Action but I want to do this through validation.xml
>
>
>
> Regards,
>
> Sahil Gupta
>
>
>
>


-- 
When we invent time, we invent death.

Re: Validation on String[]

Posted by Li <am...@gmail.com>.
have you tried java.util.ArrayList,

or

create an action form that extends ValidatorForm, which declare your List
object there

On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
>
> Hi,
>
> How can we use List or ArrayList in DynaValidator Forms?
>
>
> Regards,
>
> Sahil Gupta
>
>
>
> -----Original Message-----
> From: Li [mailto:ampyx.li@gmail.com]
> Sent: Thursday, September 21, 2006 3:57 PM
> To: Struts Users Mailing List
> Subject: Re: Validation on String[]
>
> hi,
> there is no such type : java.lang.String[], try to use List or ArrayList
>
> On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
> >
> > Hi,
> >
> > I have used a dyna form in which I have a property which is a
> > multi-select pick list defined as
> >
> > form-property name="location" type="java.lang.String[]
> >
> > Now I want to put validation (required and/or mask) on this. Can
> > anyone please guide me. I want it to show an error if the user clicks
> > on submit button without selecting anything in the picklist. I have
> > handled this validation in my Action but I want to do this through
> > validation.xml
> >
> >
> >
> > Regards,
> >
> > Sahil Gupta
> >
> >
> >
> >
>
>
> --
> When we invent time, we invent death.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>


-- 
When we invent time, we invent death.

Re: Validation on String[]

Posted by Mark Shifman <ma...@yale.edu>.
A few years ago I wrote my own validator which checked whether the 
listbox had at least one
thing selected.  Below is the validator 
(http://javaboutique.internet.com/tutorials/Struts11Val/index-14.html)
helped me get going. Also below is a validator-rules-custom.xml that 
needs to be added to the struts config
like so;

 <plug-in className="org.apache.struts.validator.ValidatorPlugIn">
        <set-property property="pathnames"
            value="/WEB-INF/validator-rules.xml, 
/WEB-INF/validator-rules-custom.xml"/>
    </plug-in>

import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.PropertyUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.validator.Field;
import org.apache.commons.validator.ValidatorAction;
import org.apache.struts.action.ActionMessages;
import org.apache.struts.validator.Resources;
public class MultilistValidator {
    private static final Log log = 
LogFactory.getLog(MultilistValidator.class);

    public static boolean validateRequiredMultilist(Object bean,
            ValidatorAction va, Field field, ActionMessages errors,
            HttpServletRequest request) {

        try {
            String[] s = (String[]) PropertyUtils.getProperty(bean, 
field.getProperty());

            if ((s == null) || (s.length == 0)) {
                errors.add(field.getKey(), 
Resources.getActionMessage(request,va, field));

                return false;
            }
        } catch (Exception ex) {
            log.fatal(ex, ex);
            errors.add(field.getKey(), 
Resources.getActionMessage(request, va, field));

            return false;
        }

        return true;
    }
}

<!DOCTYPE form-validation PUBLIC
    "-//Apache Software Foundation//DTD Commons Validator Rules 
Configuration 1.2.0//EN"
    "http://jakarta.apache.org/commons/dtds/validator_1_2_0.dtd">

<form-validation>

    <global>
       
        <!-- added by mas see 
http://javaboutique.internet.com/tutorials/Struts11Val/index-14.html -->
        <validator name="requiredmultilist"
            classname="org.ycmi.validators.MultilistValidator"
            method="validateRequiredMultilist"
            methodParams="java.lang.Object,
            org.apache.commons.validator.ValidatorAction,
            org.apache.commons.validator.Field,
            org.apache.struts.action.ActionMessages,
            javax.servlet.http.HttpServletRequest"
            msg="errors.multilist">
        </validator>
    </global>
</form-validation>
Sahil Gupta wrote:
>  Hi,
>
> Thanks a lot
> Can I do put the validation with the help of validation.xml to a String[]
>
> Regards,
>
> Sahil Gupta
>
>
> -----Original Message-----
> From: Strachan, Paul [mailto:Paul.Strachan@det.nsw.edu.au] 
> Sent: Thursday, September 21, 2006 6:11 PM
> To: Struts Users Mailing List
> Subject: RE: Validation on String[]
>
>       <form-property name="locations" type="java.util.ArrayList"/>
>
>             <field property="locationName" indexedListProperty="locations"
> depends="required">
>                 <arg key="Location" resource="false"/>
>             </field>
>
> in your action class:
>  
> ArrayList list = new ArrayList();
> Location location = new Location();
> location.setLocationName("A Location");
> list.add(location);
> dyForm.set("locations", list);
>  
>  
> I'm not sure how to validate a simple array of strings (eg
> java.lang.String[]) as the property attribute is required by the validator.
>
> ________________________________
>
> From: Sahil Gupta [mailto:sahil@netedgecomputing.com]
> Sent: Thu 21/09/2006 8:40 PM
> To: 'Struts Users Mailing List'
> Subject: RE: Validation on String[]
>
>
>
> Hi,
>
> How can we use List or ArrayList in DynaValidator Forms?
>
>
> Regards,
>
> Sahil Gupta
>
>
>
> -----Original Message-----
> From: Li [mailto:ampyx.li@gmail.com]
> Sent: Thursday, September 21, 2006 3:57 PM
> To: Struts Users Mailing List
> Subject: Re: Validation on String[]
>
> hi,
> there is no such type : java.lang.String[], try to use List or ArrayList
>
> On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
>   
>> Hi,
>>
>> I have used a dyna form in which I have a property which is a 
>> multi-select pick list defined as
>>
>> form-property name="location" type="java.lang.String[]
>>
>> Now I want to put validation (required and/or mask) on this. Can 
>> anyone please guide me. I want it to show an error if the user clicks 
>> on submit button without selecting anything in the picklist. I have 
>> handled this validation in my Action but I want to do this through 
>> validation.xml
>>
>>
>>
>> Regards,
>>
>> Sahil Gupta
>>
>>
>>
>>
>>     
>
>
> --
> When we invent time, we invent death.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
> **********************************************************************
> This message is intended for the addressee named and may contain privileged
> information or confidential information or both. If you are not the intended
> recipient please delete it and notify the sender.
> **********************************************************************
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>
>   


-- 
 Mark Shifman MD. Ph.D.
 Yale Center for Medical Informatics
 Phone (203)737-5219
 mark.shifman@yale.edu


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Validation on String[]

Posted by Sahil Gupta <sa...@netedgecomputing.com>.
 Hi,

Thanks a lot
Can I do put the validation with the help of validation.xml to a String[]

Regards,

Sahil Gupta


-----Original Message-----
From: Strachan, Paul [mailto:Paul.Strachan@det.nsw.edu.au] 
Sent: Thursday, September 21, 2006 6:11 PM
To: Struts Users Mailing List
Subject: RE: Validation on String[]

      <form-property name="locations" type="java.util.ArrayList"/>

            <field property="locationName" indexedListProperty="locations"
depends="required">
                <arg key="Location" resource="false"/>
            </field>

in your action class:
 
ArrayList list = new ArrayList();
Location location = new Location();
location.setLocationName("A Location");
list.add(location);
dyForm.set("locations", list);
 
 
I'm not sure how to validate a simple array of strings (eg
java.lang.String[]) as the property attribute is required by the validator.

________________________________

From: Sahil Gupta [mailto:sahil@netedgecomputing.com]
Sent: Thu 21/09/2006 8:40 PM
To: 'Struts Users Mailing List'
Subject: RE: Validation on String[]



Hi,

How can we use List or ArrayList in DynaValidator Forms?


Regards,

Sahil Gupta



-----Original Message-----
From: Li [mailto:ampyx.li@gmail.com]
Sent: Thursday, September 21, 2006 3:57 PM
To: Struts Users Mailing List
Subject: Re: Validation on String[]

hi,
there is no such type : java.lang.String[], try to use List or ArrayList

On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
>
> Hi,
>
> I have used a dyna form in which I have a property which is a 
> multi-select pick list defined as
>
> form-property name="location" type="java.lang.String[]
>
> Now I want to put validation (required and/or mask) on this. Can 
> anyone please guide me. I want it to show an error if the user clicks 
> on submit button without selecting anything in the picklist. I have 
> handled this validation in my Action but I want to do this through 
> validation.xml
>
>
>
> Regards,
>
> Sahil Gupta
>
>
>
>


--
When we invent time, we invent death.



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org



**********************************************************************
This message is intended for the addressee named and may contain privileged
information or confidential information or both. If you are not the intended
recipient please delete it and notify the sender.
**********************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org





---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Validation on String[]

Posted by "Strachan, Paul" <Pa...@det.nsw.edu.au>.
      <form-property name="locations" type="java.util.ArrayList"/>

            <field property="locationName" indexedListProperty="locations" depends="required">
                <arg key="Location" resource="false"/>
            </field>

in your action class:
 
ArrayList list = new ArrayList();
Location location = new Location();
location.setLocationName("A Location");
list.add(location);
dyForm.set("locations", list);
 
 
I'm not sure how to validate a simple array of strings (eg java.lang.String[]) as the property attribute is required by the validator.

________________________________

From: Sahil Gupta [mailto:sahil@netedgecomputing.com]
Sent: Thu 21/09/2006 8:40 PM
To: 'Struts Users Mailing List'
Subject: RE: Validation on String[]



Hi,

How can we use List or ArrayList in DynaValidator Forms?


Regards,

Sahil Gupta



-----Original Message-----
From: Li [mailto:ampyx.li@gmail.com]
Sent: Thursday, September 21, 2006 3:57 PM
To: Struts Users Mailing List
Subject: Re: Validation on String[]

hi,
there is no such type : java.lang.String[], try to use List or ArrayList

On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
>
> Hi,
>
> I have used a dyna form in which I have a property which is a
> multi-select pick list defined as
>
> form-property name="location" type="java.lang.String[]
>
> Now I want to put validation (required and/or mask) on this. Can
> anyone please guide me. I want it to show an error if the user clicks
> on submit button without selecting anything in the picklist. I have
> handled this validation in my Action but I want to do this through
> validation.xml
>
>
>
> Regards,
>
> Sahil Gupta
>
>
>
>


--
When we invent time, we invent death.



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org



**********************************************************************
This message is intended for the addressee named and may contain
privileged information or confidential information or both. If you
are not the intended recipient please delete it and notify the sender.
**********************************************************************

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


RE: Validation on String[]

Posted by Sahil Gupta <sa...@netedgecomputing.com>.
Hi,

How can we use List or ArrayList in DynaValidator Forms? 


Regards,

Sahil Gupta



-----Original Message-----
From: Li [mailto:ampyx.li@gmail.com] 
Sent: Thursday, September 21, 2006 3:57 PM
To: Struts Users Mailing List
Subject: Re: Validation on String[]

hi,
there is no such type : java.lang.String[], try to use List or ArrayList

On 9/21/06, Sahil Gupta <sa...@netedgecomputing.com> wrote:
>
> Hi,
>
> I have used a dyna form in which I have a property which is a 
> multi-select pick list defined as
>
> form-property name="location" type="java.lang.String[]
>
> Now I want to put validation (required and/or mask) on this. Can 
> anyone please guide me. I want it to show an error if the user clicks 
> on submit button without selecting anything in the picklist. I have 
> handled this validation in my Action but I want to do this through 
> validation.xml
>
>
>
> Regards,
>
> Sahil Gupta
>
>
>
>


--
When we invent time, we invent death.



---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org