Thanks Mike,

but the custom validator is the source of the problem (it's implemented by
following an example of the JSF book of Hans Bergsten). I implemented it
before I've heared about the sandbox component, and it works, so I'll keep
hold of it at the moment.

I just tried the scenario with a built-in validator (f:validateLongRange),
and it showed the same misbehaviour:

<t:inputText id="ergPubBeginnAnzahl"
          binding="#{UmfrVorlFormBacking.inputTextErgPubBegAnzahl}"
          value="#{UmfrVorlFormBacking.dfVorlageBasis.ergPubAnzahl}"
          disabled="false"
          required="false"
          readonly="#{UmfrVorlFormBacking.vorlageAndererAutor}"
          maxlength="4"
          size="4"
          title="Textfeld zur Eingabe der Ergebnisanzahl"
          immediate="false">
        <f:validateLongRange minimum="1" maximum="9999" />
</t:inputText>


When I try to save the form the first time with only one validation error
caused by entering "0" in that inputText, one error message summary is shown
in the following h:messages tag at the top of the page:

<h:messages layout="table" globalOnly="false" showSummary="true"
      showDetail="false" errorClass="error" fatalClass="error" />


When I leave the page to a subform with an immediate action (not the
immediate save action), and then return to the first page and try to save
it, two error message summaries are printed in the h:messages for the one
validation error.

If I leave the page again to the subform and then return and press save,
three error message summaries are printed in the h:messages for the one
validation error, and so on. There's always one error message added to the
list of error messages...


Is this behaviour intended? How can I prevent this?

I can extend that question and ask, how can I prevent duplicates of error
message summaries to be printed out by the h:messages component, because
other use cases are possible where some additional validation errors occur
on the same page, and all have the same error message summary. I think one
error message summary of one type would be sufficient... And that's a
problem you all might face sometime...

(I already thought of a phase listener the removes duplicates from the error
message queue ;) ...)


Regards,

Matthias

> -----Ursprüngliche Nachricht-----
> Von: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] Auftrag
> von Mike Kienenberger
> Gesendet: Donnerstag, 5. Januar 2006 20:43
> An: MyFaces Discussion
> Betreff: Re: Custom validator invoked multiple times in process
> validations phase
>
>
> Hi Matthias,
>
> I don't know the answer to your problem, but there's a
> sandbox:validateCompareTo that you can use instead of creating your
> own custom validator.   I already use it to compare two dates:
>
> <sandbox:validateCompareTo operator="ge" for="openDateInput"
> message="Date initiated must be before requested completion date."/>
>
>
> On 1/5/06, Matthias Kahlau <[EMAIL PROTECTED]> wrote:
> > Hi!
> >
> >
> > I have a problem with a validator, this time with a custom
> validator used as
> > custom JSP action inside a JSF page. The validator is a "laterThan"
> > validator, which compares two dates when I try to save the form.
> >
> > I use the following tag only one time in the JSP page, but the
> validator is
> > invoked 5 times when a validation error occurs:
> >
> > <custom:validateLater than="umfragebeginn" />
> >
> >
> > You can see the multiple invocations in the logging output from
> the process
> > validations phase (entering validate()...leaving validate()):
> >
> >
> > 2006-01-05 18:49:05,031 DEBUG
> [org.apache.myfaces.lifecycle.LifecycleImpl]
> > entering processValidations in
> org.apache.myfaces.lifecycle.LifecycleImpl
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isLehrevalChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isLehrevalChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isMitarbeiterBefrChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isMitarbeiterBefrChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isLehrevalChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isMitarbeiterBefrChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isLehrevalChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isLehrevalChosen()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering validate()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering formatDate()
> > 2006-01-05 18:49:05,031 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] date = Thu Jan 05 01:00:00 CET 2006
> > 2006-01-05 18:49:05,031 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] formatted date (converter) = 05.01.06
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving formatDate()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,031 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
> > Parameter: params=[Ljava.lang.Object;@129714a,
> > key=validator.laterThan.notLater
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,031 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] key =
> > validator.laterThan.notLater
> > 2006-01-05 18:49:05,031 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum
> {0} folgt.
> > 2006-01-05 18:49:05,031 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum 05.01.06
> > folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] error msg = [EMAIL PROTECTED]
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering formatDate()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] date = Thu Jan 05 01:00:00 CET 2006
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] formatted date (converter) = 05.01.06
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving formatDate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
> > Parameter: params=[Ljava.lang.Object;@16d64b9,
> > key=validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] key =
> > validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum
> {0} folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum 05.01.06
> > folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] error msg = [EMAIL PROTECTED]
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering formatDate()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] date = Thu Jan 05 01:00:00 CET 2006
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] formatted date (converter) = 05.01.06
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving formatDate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
> > Parameter: params=[Ljava.lang.Object;@1e72538,
> > key=validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] key =
> > validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum
> {0} folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum 05.01.06
> > folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] error msg = [EMAIL PROTECTED]
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering formatDate()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] date = Thu Jan 05 01:00:00 CET 2006
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] formatted date (converter) = 05.01.06
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving formatDate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
> > Parameter: params=[Ljava.lang.Object;@10a9d01,
> > key=validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] key =
> > validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum
> {0} folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum 05.01.06
> > folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] error msg = [EMAIL PROTECTED]
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] entering formatDate()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] date = Thu Jan 05 01:00:00 CET 2006
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] formatted date (converter) = 05.01.06
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving formatDate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
> > Parameter: params=[Ljava.lang.Object;@52578c,
> > key=validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil]
>  entering
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] key =
> > validator.laterThan.notLater
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum
> {0} folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getMessageFromBundle()
> > 2006-01-05 18:49:05,046 DEBUG
> > [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] msg =
> > Bitte ein Umfrageendedatum eingeben, das dem Umfragebeginndatum 05.01.06
> > folgt.
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedMessageFromBundle()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.FacesMessageUtil] leaving
> > getParameterisedErrorMessage()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] error msg = [EMAIL PROTECTED]
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterTh
> anValidato
> > r] leaving validate()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isSonstUmfragenChosen()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.UmfrVor
> lFormValid
> > atorBacking] entering validateErgPubEnde()
> > 2006-01-05 18:49:05,046 DEBUG
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.UmfrVor
> lFormValid
> > atorBacking] AuswSicherheit: Umfragemanager only - no
> validation necessary
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.utils.validator.UmfrVor
> lFormValid
> > atorBacking] leaving validateErgPubEnde()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isSonstUmfragenChosen()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isCreating()
> > 2006-01-05 18:49:05,046 INFO
> >
> [de.fhzw.portal.umfragesystem.view.backing.management.UmfrVorlFormBacking]
> > entering/leaving isLehrevalChosen()
> > 2006-01-05 18:49:05,046 DEBUG
> [org.apache.myfaces.lifecycle.LifecycleImpl]
> > exiting from lifecycle.execute in processValidations because
> > getRenderResponse is true from one of the after listeners
> > 2006-01-05 18:49:05,046 DEBUG
> [org.apache.myfaces.lifecycle.LifecycleImpl]
> > entering renderResponse in org.apache.myfaces.lifecycle.LifecycleImpl
> > 2006-01-05 18:49:05,046 DEBUG
> > [org.apache.myfaces.application.jsp.JspViewHandlerImpl] Dispatching to
> > /Management/UmfrVorlForm.jsp
> >
> >
> > The Problem is furthermore, that the h:messages, which outputs the error
> > summary of this page, does also print out the summary 5 times,
> so that the
> > user is directly confronted with this misbehaviour.
> >
> > As I could observe, the multiple invocations or at least the
> multiple error
> > message print-outs must have sth. to do with the amount of visits of the
> > page. Each time a leave the page to a subform (immediate
> action), and than
> > return to the page and try to save the form, the error message
> is printed
> > out one more time.
> >
> > What I also could see from the logging output of the rendered
> view, that one
> > validator tag (which is used only one time per component) is
> printed many
> > times, regardless of the validator type (built-in or custom), e. g.:
> >
> > Custom validator:
> >
> > <org.apache.myfaces.custom.calendar.HtmlInputCalendar id="umfrageende"
> > forceIdIndex="true" accesskey="NULL" addResources="true" alt="NULL"
> > converter="[EMAIL PROTECTED]"
> > currentDayCellClass="currentDayCell" dayCellClass="NULL" dir="NULL"
> > disabled="#{UmfrVorlFormBacking.vorlageAndererAutor}"
> > enabledOnUserRole="NULL" family="javax.faces.Input" immediate="false"
> > lang="NULL" localValue="NULL" localValueSet="false"
> maxlength="-2147483648"
> > monthYearRowClass="yearMonthHeader" onblur="NULL" onchange="NULL"
> > onclick="NULL" ondblclick="NULL" onfocus="NULL" onkeydown="NULL"
> > onkeypress="NULL" onkeyup="NULL" onmousedown="NULL" onmousemove="NULL"
> > onmouseout="NULL" onmouseover="NULL" onmouseup="NULL" onselect="NULL"
> > popupButtonString="NULL" popupDateFormat="NULL" popupGotoString="NULL"
> > popupScrollLeftMessage="NULL" popupScrollRightMessage="NULL"
> > popupSelectDateMessage="NULL" popupSelectMonthMessage="NULL"
> > popupSelectYearMessage="NULL" popupTodayString="Heute ist"
> > popupWeekString="Wo"
> readonly="#{UmfrVorlFormBacking.vorlageAndererAutor}"
> > renderAsPopup="true" renderPopupButtonAsImage="true" rendered="true"
> > rendererType="org.apache.myfaces.Calendar" rendersChildren="false"
> > required="true" size="-2147483648" style="NULL" styleClass="NULL"
> > submittedValue="05.01.06" tabindex="NULL" title="NULL" transient="false"
> > valid="false" validator="NULL"
> > value="#{UmfrVorlFormBacking.dfVorlageBasis.umfrEnde}"
> > valueChangeListener="NULL" visibleOnUserRole="NULL"
> > weekRowClass="weekHeader">
> >
> <de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterThan
> > Validator/>
> >
> <de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterThan
> > Validator/>
> >
> <de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterThan
> > Validator/>
> >
> <de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterThan
> > Validator/>
> >
> <de.fhzw.portal.umfragesystem.view.backing.utils.validator.LaterThan
> > Validator/>
> >       </org.apache.myfaces.custom.calendar.HtmlInputCalendar>
> >
> >
> > Or built-in validator:
> >
> > <html.ext.HtmlInputText id="kennwort" forceIdIndex="true"
> accesskey="NULL"
> > alt="NULL" converter="NULL" dir="NULL" disabled="false"
> > displayValueOnly="false" displayValueOnlyStyle="NULL"
> > displayValueOnlyStyleClass="NULL" enabledOnUserRole="NULL"
> > family="javax.faces.Input" immediate="false" lang="NULL" localValue=""
> > localValueSet="true" maxlength="256" onblur="NULL" onchange="NULL"
> > onclick="NULL" ondblclick="NULL" onfocus="NULL" onkeydown="NULL"
> > onkeypress="NULL" onkeyup="NULL" onmousedown="NULL" onmousemove="NULL"
> > onmouseout="NULL" onmouseover="NULL" onmouseup="NULL" onselect="NULL"
> > readonly="#{UmfrVorlFormBacking.vorlageAndererAutor}" rendered="true"
> > rendererType="org.apache.myfaces.Text" rendersChildren="false"
> > required="false" setDisplayValueOnly="false" size="50" style="NULL"
> > styleClass="NULL" submittedValue="NULL" tabindex="NULL"
> title="Textfeld zur
> > Eingabe des Kennworts" transient="false" valid="true" validator="NULL"
> > value="#{UmfrVorlFormBacking.dfVorlageBasis.kennwort}"
> > valueChangeListener="NULL" visibleOnUserRole="NULL">
> >           <javax.faces.validator.LengthValidator/>
> >           <javax.faces.validator.LengthValidator/>
> >           <javax.faces.validator.LengthValidator/>
> >           <javax.faces.validator.LengthValidator/>
> >           <javax.faces.validator.LengthValidator/>
> >         </html.ext.HtmlInputText>
> >
> >
> > How can I manage this? (The problem reminds me of my post send
> on Tuesday,
> > which might also be caused by multiple invocations of a
> validator, but that
> > validator was a built-in one: Please see
> > http://www.mail-archive.com/[email protected]/msg14355.html)
> >
> >
> >
> > Regards,
> >
> > Matthias
> >
> >

Reply via email to