this change is only in 1.3. as far as documentation i dont know, its pretty
obvious from the code. wicket.validator package doesnt have dependencies on
any other package in wicket. maybe someday it will be its own little
project.

-igor


On 5/9/07, Jon Steelman <[EMAIL PROTECTED]> wrote:

Is this decoupling (& example of multiple use) concept expressed in the
javadocs? I didn't see it on the 1.2.6 documentation. Would be good to
capture it, maybe on the class documentation on IValidator and/or its
package javadoc.

Jon


On 5/9/07, Igor Vaynberg <[EMAIL PROTECTED]> wrote:
>
> no. dont forget that the idea of IValidator is to be decoupled from
> wicket,
> to allow the reuse of validators in service layer. i do that all the
time
> now and it rocks! my service layer and my ui layer are validated by the
> same
> code. adding ivalidator.getbehavior() will break all that nice
decoupling.
>
> i always thought that something like this would work
>
> IClientSideValidator extends IValidator { /** rerturn a js func to
> validate
> the value */ CharSequence getValidationScript(); }
>
> then an instanceof check and you are done.
>
> -igor
>
>
> On 5/9/07, Johan Compagner <[EMAIL PROTECTED]> wrote:
> >
> > a problem is that IBehavior is a pretty big interface
> > And you work from the validator so its a lot of garbage a validator
will
> > get
> > when it also implements IBehavior
> > and we don't have multiply inheritance in java so it will be very hard
> to
> > reuse stuff then
> >
> > That only is possible if we have this:
> >
> > IValidator.getBehavior()
> >
> > then the validator returns the behavior it also wants to have.
> > then when add(IValidator) is called we check if it has a behavior (or
> its
> > a
> > IClientValidator or IValidatorBehavior whatever)
> > and if it has one we call add(IBehavior) with that one automatically
> >
> > This way current validators can be come client side validators very
> easily
> > and one behavior can be reused  multiply times that would be much
harder
> > if
> > it really was one big class.
> >
> > johan
> >
> >
> >
> >
> > On 5/9/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> > >
> > > I'm not sure. It's smart to use a behavior for this, as that's very
> > > flexible and enables you to add client-side things (by adding other
> > > behaviors) easily.
> > >
> > > I'm not crazy about a behavior changing properties of components.
It's
> > > not wrong, but I think I'd prefer to let the component as is and
make
> > > a smart validator that just works on itself.
> > >
> > > I also think that the solution is a bit hackish. It's great to make
> > > things work quickly, but in this case I'd rather see whether we can
> > > find something generic, even if that would mean alterations in
> > > Wicket's (internal) API as well.
> > >
> > > To do that, we have a couple of things to tackle:
> > >
> > > 1) Validators are currently server side all-the-way. But they don't
> > > have to be imho. If you combine a behavior and validator, you can
> > > create a validator that checks on the server side (imo, *always* do
> > > that, even if you have the client side covered well) and
additionally
> > > write out some client side validation script. I see two ways to
> > > achieve this:
> > >   a) Really make a combined class, but then we should extract a
> > > combined interface for IValidator and IBehavior, so that you can add
> > > such a class to a component with just one method call
> > >   b) Introduce a limited IBehavior-like interface that can be
extended
> > > by IValidators and that is to be interpreted when rendering by form
> > > components.
> > > My very strong preference is a), as I think it would be nice to be
> > > able to do that anyway. The only people we'd break are the people
who
> > > override add(Behavior) now - something that we've warned against to
> > > start with - but we can find another way to support their use case.
> > >
> > > 2) We should refine our concept of property models. It's still a
> > > special case right now, though when you think of it, it's really a
> > > very generic problem to solve, whether introspection is used or not.
> > > PropertyModels need to know the following things:
> > >   * The parent type of the property (e.g. Person). One tricky thing
> > > here is nested properties (like 'person.homeAddress.postalCode'),
but
> > > I'm sure we can find some solution.
> > >   * The type of the property ('name' is a string, 'dateOfBirth' a
> date).
> > >   * The property name. Probably usually equal to the property
> > > expression if one is available.
> > >
> > > In short, 1) would provide a means to let validators optionally
> > > contribute client side code while still having a solid server-side
> > > shield, and 2) provides all the means needed for introspecting on
the
> > > kind of validation that should be executed.
> > >
> > > WDYT?
> > >
> > > Eelco
> > >
> > >
> > > On 5/9/07, Ryan Sonnek <[EMAIL PROTECTED]> wrote:
> > > > Wow.  After a flurry of research into this area, i've whipped
> together
> > > > a hibernate/wicket behavior that reads annotations and helps
> configure
> > > > the wicket component respectively.
> > > >
> > >
> >
>
http://wicket-stuff.svn.sourceforge.net/viewvc/wicket-stuff/trunk/wicketstuff-hibernate-behavior/
> > > >
> > > > Essentially, right now it will auto configure a component by:
> > > > * set component to be "required" when using NotNull annotation
> > > > * add "maxlength" attribute when using Length annotation
> > > >
> > > > Still lots of work to be done:
> > > > * attach client side javascript validation
> > > > * maybe integrate into the wicket validation framework?
> > > >
> > > > I'd appreciate anyone interested to take a look and let me know
what
> > > they think.
> > > >
> > > > On 5/8/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> > > > > > Ryan, lets finish this thread and move on to gTalk and *talk*
> > about
> > > this.
> > > > > > I'm adding you right now.
> > > > >
> > > > > Or even better... why don't you guys join the ##wicket IRC
channel
> > on
> > > > > freenode.net? It's perfect for discussions like that, and
changes
> > are
> > > > > you'll get some more people opinions in the process (44 people
> > hanging
> > > > > out as I write this).
> > > > >
> > > > > > No, I dont have an account yet, and yes you can start the
> project
> > in
> > > > > > wicket-stuff and after that, I'll ask you for permission.
What'd
> > you
> > > think?
> > > > >
> > > > > Please reply with (or send me) your sourceforge id, and I'll be
> > happy
> > > > > to add you to wicket-stuff.
> > > > >
> > > > > Eelco
>

Reply via email to