hi simon, by default extval doesn't use tags. so f:validateBean isn't supported. the typesafe alternative for using group validation,... is @BeanValidation.
if you really need a tag, it's quite simple to impl. it. [1] illustrates an implementation which provides all features of @BeanValidation via a tag. regards, gerhard [1] http://code.google.com/p/os890/source/browse/#svn/trunk/java/web/jsf/extval.bv/tag_based_extval-bv_meta-data http://www.irian.at Your JSF powerhouse - JSF Consulting, Development and Courses in English and German Professional Support for Apache MyFaces 2010/7/19 Simon Zambrovski <[email protected]> > Hi Folks, > > I observe a strange exception by that appears inside of the > BeanValidatorWrapper in a very specific scenario. Here is how it goes: > > I use PrimeFaces 2.0.2 running on Mojarra JSF and using ExtVal for Bean > Validation (especially to support @Valid). It works perfect, except for > one case. If I open a popup (p:dialog) and use a link (p:commandButton) > which submits a form which contains a f:validateBean tag setting a Bean > Validation group - an exception is thrown during an attempt to access an > non-existent default constructor in BeanValidatorWrapper. If I remove > the f:validateBean tag, everything works fine, and if I use it not from > the popup too. Here is the VDL: > > <p:dialog widgetVar="PopupDialog" fixedCenter="true" > header="Customer Search" modal="true" close="false"> > <h:form id="PopupDialogForm" prependId="false"> > <h:messages globalOnly="true" errorClass="error" > fatalClass="fatal" infoClass="info" warnClass="warn" /> > <p:panel header="Customer Search"> > <h:panelGrid columns="1"> > <h:panelGrid columns="2"> > <h:outputLabel for="name" value="Name:" /> > <h:inputText id="name" > value="#{searchController.search.name}" label="#{msgs.label}"> > <f:validateBean > validationGroups="de.techjava.web.popup.validation.SearchGroup" /> > </h:inputText> > </h:panelGrid> > <h:message for="name" id="name_msg" /> > <p:commandButton value="Search" > action="#{searchController.doSearch}" onsuccess="if (args) { var isValid > = args.isValid; if (isValid) { PopupDialog.hide();}}" > update="@form" process="@form" /> > </h:panelGrid> > </p:panel> > <p:panel header="Customer Search Result"> > <p:dataTable id="items" > value="#{searchController.result}" var="item"> > <p:column> > <f:facet name="header"> > <h:outputText value="Name" /> > </f:facet> > <h:outputText value="#{item.name}" /> > </p:column> > </p:dataTable> > </p:panel> > <p:commandButton value="Close" > action="#{searchController.doCancel}" onsuccess="PopupDialog.hide()" > update="@none" process="@this" /> > </h:form> > </p:dialog> > > > > Any ideas? > > Kind regards, > > Simon >

