It seems that there is no way to remove an IFormValidator from a Form. 
Because the fields in my Form are inside Panels (only one of which is
present at any given time), the Form fields are not necessarily children of
the Form.

When one of the Form's IFormValidators receives a getDependentFormComponents
call, it (correctly, I believe) returns the form components that it
validates.  An exception occurs when getParent is called on these components
(in attempt to find the Form somewhere up the hierarchy) up the call stack.

Since the change in the Panel that's present is made via an Ajax update, the
same update would be able to remove the offending IFormValidator when its
Panel is removed.  (That is, if there was a method in Form to remove an
IFormValidator.)

For now, I've hacked it so that my IFormValidator checks whether all its
Form Components all have parents before any of its methods return non-null
values.

(I'm not just changing the Panel visibility because then the hidden Panels
would still get validated, and I don't want that to happen.)
-- 
View this message in context: 
http://www.nabble.com/Removing-IFormValidators-tf3995189.html#a11345898
Sent from the Wicket - User mailing list archive at Nabble.com.


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to