so why is it onadded() here and bind() in ibehavior? -igor
On 5/11/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
I guess sitting back is not my strongest point :) I just committed a variant of Al's idea: /** * Optional interface for validators ([EMAIL PROTECTED] IValidator} and * [EMAIL PROTECTED] IFormValidator}) that can react to validators being added to a * component. * <p> * Implementation note: currently we keep this case simple stupid non-generic. * In future versions we may revisit this and support removal events (WHEN * removal of validators is ever allowed, which justifies it's own discussion). * Also, we may look at whether this is a common event to support for behaviors * as well. This raises additional questions that need to be answered, hence * we'll start by supporting just the use case when validators are added to * forms or form components. * </p> */ public interface IValidatorAddListener extends IClusterable { /** * Called right after a validator was added to a [EMAIL PROTECTED] Form} or * [EMAIL PROTECTED] FormComponent}. A common use case for implementing this interface * is for validators to add behaviors to implement client side validation * capabilities, e.g. through JavaScript, Ajax or just by adding a simple * attribute modifier that sets a maxlength attribute. * * @param component * component to which the validator was just added. */ void onAdded(Component component); } for which you can have an implementation like: private static class MaxLengthValidator extends StringValidator.MaximumLengthValidator implements IValidatorAddListener { public MaxLengthValidator(int maximum) { super(maximum); } public void onAdded(Component component) { if (component instanceof AbstractTextComponent) { component.add(new SimpleAttributeModifier("maxlength", String.valueOf(getMaximum()))); } } } Eelco On 5/11/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote: > Well, if you feel strongly about this, maybe it is time to open > another discussion about this specifically or (maybe better as we're > having to digest lots of traffic to start with) a JIRA feature > request. > > Eelco > > On 5/11/07, Bruno Borges <[EMAIL PROTECTED]> wrote: > > Because Wicket is component based... :) We actually reuse components and > > somewhere we want to disable validators. For example: chained components > > where one component if selected, must disable another component's validator. > > > > -- > > Bruno Borges > > Summa Technologies Inc. > > www.summa-tech.com > > (48) 8404-1300 > > (11) 3055-2060 > > > > On 5/11/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote: > > > > > > > How about enabled/disabled validators (and their behaviors) ? This way, > > > no > > > > counting down is needed and when validatores are disabled, they > > > propagate > > > > this state to behaviors. Removing validators is strange to me, but > > > disabling > > > > them for a while, I think this is more reasonable. > > > > > > Maybe. Again would be more in line with behaviors. But now the million > > > dollar question: for what use case? When would you actually ever need > > > to remove or disable a validator? And *if* you would ever need such an > > > exotic case, why does Wicket have to do this for you and why don't we > > > tell people to just make this part of the way they implement their > > > validation method? > > > > > > Eelco > > > > > >