File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JSF and the fly likes Saving form without validation Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login

Win a copy of Java Interview Guide this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » JSF
Bookmark "Saving form without validation" Watch "Saving form without validation" New topic

Saving form without validation

Matt Gaunt
Ranch Hand

Joined: Sep 05, 2003
Posts: 34
Recently I have been working on a multi-page form (wizard) for internet users. One of the requirements is the necessity to save data already entered within the form so that a user can come back to it later. Is there a way to submit the data and ensure it is not validated when the save button is hit? In essence, I would like the validation phase skipped when selecting the save button but not skipped when the Submit button is selected?


Joe ONeil

Joined: Jan 16, 2009
Posts: 12
immediate="true" but you will not be able to read any of the input fields this is good if you are going to open a popup or go to another div
Ed Burns
Ranch Hand

Joined: Sep 11, 2006
Posts: 82
Hello Mr. Gaunt, thanks for your question. This is a tough one because the validation guarantee is one of the bulwark principles of JSF security. Nonetheless, your use case is a valid one (ha!).

I haven't yet done this myself, but with the new @FacesComponent annotation and the composite component features it's very easy to do so. Here's a sketch. When I have more time I'll flesh it out in a blog entry.

Make a composite component, the tag for which is, say my:bypassValidation. For this component, make a custom top level component: (use the @FacesComponent annotation on a java class that extends from UINamingContainer, then use the componentType attribute on the cc:interface composite component tag. The value of the annotation an the right hand side of componentType must match.

In the custom top level component with the @FacesComponent annotation, override the processValidations method to take a look at piece of state (probably not a query parameter, for security reasons) and simply be a no-op or call super.processValidations() depending on the value of the state.

That should do the trick.

Nicolas Romanetti

Joined: Dec 16, 2011
Posts: 1

We have tried to implement your suggestion without any success.
Here is another approach, may be simpler

It would be a real plus to provide this natively in JSF. An attribute on commandButton such as skipValidationFor="xxx" where xxx could be '@all' or a list of ids, would be so convenient.
With all my respect, I think it is not up to the framework to prevent certain usage. In the end, people either choose another framework or loose some precious time elaborating workarounds.


I agree. Here's the link:
subject: Saving form without validation
jQuery in Action, 3rd edition