myfaces-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gerhard Petracek <gerhard.petra...@gmail.com>
Subject Re: validateBean and java.lang.InstantiationException: org.apache.myfaces.extensions.validator.beanval.interceptor.BeanValidatorWrapper
Date Mon, 19 Jul 2010 04:04:26 GMT
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 <szambrovski@gmail.com>

>  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
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message