Hi all,

I have what I would think to be a fairly common usecase that I'd like to
solve.  I have a form with a model that is a LoadableDetachableModel wrapped
in a CompoundPropertyModel.  I wouldn't expect that to be unusual.  However,
when a form submit is failing validation for , all changes to the form are
lost.  I'm guessing that the LoadableDetachableModel, when combined with the
blocked update to the model, is causing this.

For the most part, I've been able to get around this by "deferring" most
validation checks until #onSubmit, at which point I manually run through
them and call #error on the appropriate components.

Two problems: First, I can't defer all validation.  Type conversions and the
size of uploaded files are validated automatically, and you wouldn't want to
have to rewrite that for yourself.  Second, I don't want to defer all the
validation.  In so doing, I lose the benefits of Wicket handling all that
stuff in the back end for me.

I'm wondering if there's a possible work-around.  What if, during the call
to #onError, I was to call #updateModel?  The javadoc gives a rather
significant warning against using this method, but I'm wondering if it has
some value here.  The point is, if I force the model to be updated despite
the validation failure, then changes will not be lost upon submission.

Any thoughts?

Reply via email to