Sorry I jumped the gun and have put up a patch without agreeing the variable names - if its not acceptable I can always change it and re-submit the patch.
I have used the three options you mention (except mine are currently all lower case) and a fourth which is "schemes" and it can ccontain a comma delimited list of valid schemes. That covers all the configurable options in UrlValidator. While I was testing this I did have another thought - UrlValidator just returns true or false when it validates and gives no indication of what bit of the validation failed. What do you think of changing it so it returns some kind of error code so that a more meaningful message could be returned to the user? Something like Code Condition 0 valid 101 Invalid Characters 102 Invalid Structure 201 Invalid Scheme Format 202 Invalid Scheme Value (show valid scheme values) 301 Invalid Authority Format 302 Invalid Authority IP Address 303 Invalid Authority Host Name 304 Invalid Authority - not IP Address or Hostname 305 Invalid Port 401 Invalid Path Format 402 Invalid Path - ends with / 403 Invalid Path - two slashes not allowed 404 Invalid Path - slashes/dots 501 Invalid Query format 601 Fragment Not Allowed The only thing is how to configure validator to output 16 different messages? ----- Original Message ----- From: "[EMAIL PROTECTED]" <[EMAIL PROTECTED]> To: "Struts Developers List" <[EMAIL PROTECTED]> Sent: Friday, April 02, 2004 3:01 AM Subject: Re: Fw: UrlValidator() takes options - but how? > > I was thinking of openning a bugzilla and sticking a patch up - but I don't > > want > > to steal your thunder if you'd rather do it. > > I would encourage a bugzilla ticket, it sounds like there is almost > agreement on the needed changes, and options. Before fileing do try to firm > up those options. Since the commons validator already has the > allow2slashes,noFragments and allowAllSchemes. These would be a good start. > > > > > > > Niall > > > > > > > > Adam > > > > > > On 04/01/2004 10:08 PM Niall Pemberton wrote: > > > > Adam Hardy suggested "allow2slashes", "nofragments" and > > "allowallschemes" > > > > being either true/false > > > > > > > > I think rather than having "allowallschemes", have a "schemes" parameter > > > > which can be either "all" (which sets the allow all schemes option) or a > > > > comma delimited list of valid schemes. > > > > > > > > Alternatively you could have Adam's suggestion plus any <var> that > > starts > > > > with "scheme" is taken to build an array of schemes. Something like: > > > > > > > > <field property="someUrl" depends="myUrlValidator"> > > > > <var><var-name>allow2slashes</var-name> > > > > <var-value>true</var-value> > > > > </var> > > > > <var><var-name>nofragments</var-name> > > > > <var-value>true</var-value> > > > > </var> > > > > <var><var-name>allowallschemes</var-name> > > > > <var-value>false</var-value> > > > > </var> > > > > <var><var-name>scheme1</var-name> > > > > <var-value>http</var-value> > > > > </var> > > > > <var><var-name>scheme2</var-name> > > > > <var-value>ftp</var-value> > > > > </var> > > > > <var><var-name>scheme3</var-name> > > > > <var-value>telnet</var-value> > > > > </var> > > > > </field> > > > > > > > > > > > > Niall > > > > > > > > ----- Original Message ----- > > > > From: "David Graham" <[EMAIL PROTECTED]> > > > > To: "Struts Developers List" <[EMAIL PROTECTED]> > > > > Sent: Thursday, April 01, 2004 8:17 PM > > > > Subject: Re: Fw: UrlValidator() takes options - but how? > > > > > > > > > > > > > > > >>--- Niall Pemberton <[EMAIL PROTECTED]> wrote: > > > >> > > > >>>Sorry this went to the wrong list, but anyway.... > > > >>> > > > >>>Looking at CVS there is a validateUrl() method in the Struts > > FieldChecks > > > >>>class (added in version 1.15) - problem is it uses commons > > > >>>GenericValidator > > > >>>which has a static instance. > > > >>> > > > >>>What do you think about changing this to instantiate a UrlValidator if > > > >>>any > > > >>>configuration parameters have been enetered in validation.xml, > > otherwise > > > >>>use > > > >>>the GenericValidator? > > > >> > > > >>Sounds ok to me but we need to define the variable names the method > > > >>recognizes and will use in UrlValidator configuration. > > > >> > > > >>David > > > > > > -- > > > struts 1.2 + tomcat 5.0.19 + java 1.4.2 > > > Linux 2.4.20 Debian > > > > > > > > > --------------------------------------------------------------------- > > > 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]