Good points Ted. I disagree with the resources issue. We all know there are ways to avoid loading classes before they're needed. Plus, how much memory does the validator use? My guess is, not nearly enough to worry about.

David






From: Ted Husted <[EMAIL PROTECTED]>
Reply-To: "Struts Developers List" <[EMAIL PROTECTED]>
To: Struts Developers List <[EMAIL PROTECTED]>
Subject: Re: Validator Integration
Date: Fri, 25 Oct 2002 15:30:18 -0400

The validator is a nice piece of work but its not the only game
in town. I agree that its a good idea to provide a default
component for people to use, but I don't agree that it's a good
idea to link it to the base ActionForm.

Right now, if the Validator is not used, the code just sits
there in the jar. But if you build it into the subclass of
ActionForm, it gets called (even to return null) and starts to
consume resources.

It is true that most applications need a validation step.
That's why we have a validation hotspot. But I don't agree that
we need to hardwire the Validator into the ActionForm.

My true feeling is that the Validator is a fine start, but
there is still a lot to be learned about validation, and we
should not standardize too early.

I'm now working on a design that pushes all the Validation back
to the business tier. We will probably still use the Validator,
but the Commons-Validator rather than the Struts Validator. The
ActionForm will be use to create the business request and call
it's validation method. The business request can then pass back
the tokenized messages, just like the Struts validate method.
But we end up with people working on common business classes
that we can re-use between platforms. (Nothing out of the
Struts jar.)

I just bring this up to point out that not everyone is just
writing web applications or Struts applications or blindly
using the Struts hotspots just because they are there. It's the
job of the framework to make services available, but we need to
be very conservative about which services we wire into our own
*base* classes that we compell people ot use.

If nothing else, both the Validator and Tiles are proofs of
concept about how developers can connect their own extensions
to Struts. If we start hardwiring everything in, we start to
loose the open aspect of the architechture. It's true that
wiring more in would be more convenient, but there's such a
thing as being too convenient. (A lesson Turbine learned the
hard way.)

-Ted.


10/25/2002 1:42:20 PM, David Graham <[EMAIL PROTECTED]>
wrote:

>Thanks for the input Ted. I was only suggesting changing
struts-config if
>validator was truely merged; I agree that optional components
don't belong
>there. The validation rules file should be separate but I'm
suggesting that
>the validator not be a plugin and have an entry similar to
message-resources
>or form-beans.
>
>Now the question is whether the validator is a core component?
>I don't know what you all define as core but I believe this is
a core
>aspect. How many forms have you built that didn't need
validation of at
>least one required field (if no form fields are required I
question the
>value of the form)?
>
>What are the various options for validation? I see 2 built
into Struts:
>coding a form bean's validate() method and using the
validator. What I'm
>suggesting is that the ActionForm.validate() method use the
validator by
>default.
>
>I just don't see any need to subclass a different ActionForm
class to use
>the validator when it seems that this will become the
predominant form of
>validation.
>
>David
>
>
>
>
>
>
>>From: Ted Husted <[EMAIL PROTECTED]>
>>Reply-To: "Struts Developers List" <struts-
[EMAIL PROTECTED]>
>>To: Struts Developers List <[EMAIL PROTECTED]>
>>Subject: Re: Validator Integration
>>Date: Fri, 25 Oct 2002 13:09:10 -0400
>>
>>I've been using the Validator for going on three years now,
but
>>I don't think I would ever want to describe it as an integal
>>part of Struts. Struts provides a validation hotspot, and we
>>provide the Validation as something people can plug into that
>>spot. But we want to be very clear that it is only one of
many
>>possible solutions to validation.
>>
>>We provide direct support for the Validator as a convenience,
>>but IMHO, it is not part of the true Struts core. (Of course,
I
>>don't consider the tags part of the true Struts core either
=:)
>>
>>I'd also be very cold on amending the struts-config with the
>>specifics for any optional component, the Validator included.
>>Ideally, the Validation config could be shared with other
>>platforms (not just Struts), and should be a standalone file.
>>
>>As mentioned elsewhere, there were two classes since some
>>people (or maybe one person) wanted to key on the action path
>>rather than the action attribute. But if we were patch this
to
>>use a switch, mores the better.
>>
>>-Ted.
>>
>>10/25/2002 10:34:52 AM, David Graham <dgraham1980
@hotmail.com>
>>wrote:
>>
>> >It struck me the other day that the validator could be
further
>>integrated
>> >into struts. I'm not sure about my ideas so I want to get
>>your thoughts. y
>> >Why should people need to subclass ValidatorActionForm
instead
>>of ActionForm
>> >to use the validator? What forms have you built that
didn't
>>need
>> >validation?
>> >
>> >My idea is that the ValidatorActionForm and ValidatorForm
(why
>>are there 2?)
>> >behavior should be included in ActionForm and have those
>>classes removed. I
>> >think this will maintain backward compatibility because if
the
>>developer
>> >hasn't defined any validation rules for a form then we
could
>>return null
>> >from validate().
>> >
>> >Further, we could include validator configuration tags in
>>struts-config.xml
>> >instead of using a plugin. This would signify that
validator
>>is an integral
>> >piece of struts that most people want to use (which I
believe
>>they do).
>> >
>> >This is probably a post 1.1 idea but I thought I'd throw it
>>out here.
>> >What do you think?
>> >
>> >David
>> >
>> >
>> >
>> >
>> >
>> >
______________________________________________________________
>>___
>> >Unlimited Internet access -- and 2 months free!  Try MSN.
>> >http://resourcecenter.msn.com/access/plans/2monthsfree.asp
>> >
>> >
>> >--
>> >To unsubscribe, e-mail: <mailto:struts-dev-
>>[EMAIL PROTECTED]>
>> >For additional commands, e-mail: <mailto:struts-dev-
>>[EMAIL PROTECTED]>
>> >
>> >
>>
>>
>>
>>
>>--
>>To unsubscribe, e-mail:
>><mailto:struts-dev-unsubscribe@;jakarta.apache.org>
>>For additional commands, e-mail:
>><mailto:struts-dev-help@;jakarta.apache.org>
>
>
>______________________________________________________________
___
>Protect your PC - get McAfee.com VirusScan Online
>http://clinic.mcafee.com/clinic/ibuy/campaign.asp?cid=3963
>
>
>--
>To unsubscribe, e-mail: <mailto:struts-dev-
[EMAIL PROTECTED]>
>For additional commands, e-mail: <mailto:struts-dev-
[EMAIL PROTECTED]>
>
>




--
To unsubscribe, e-mail: <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>

_________________________________________________________________
Get a speedy connection with MSN Broadband.  Join now! http://resourcecenter.msn.com/access/plans/freeactivation.asp


--
To unsubscribe, e-mail: <mailto:struts-dev-unsubscribe@;jakarta.apache.org>
For additional commands, e-mail: <mailto:struts-dev-help@;jakarta.apache.org>

Reply via email to