That is exactly what happens.  The JSF code does a null check and a
.trim().size() check on the string that is submitted(everything is still
a string at this point) to determine if it should run the validations.


JB

-----Original Message-----
From: Jason Vincent [mailto:[EMAIL PROTECTED] 
Sent: Thursday, March 29, 2007 2:14 PM
To: [email protected]
Subject: Re: JSF Validator on select menus only getting used once.

just had an after thought...

when I don't change the first select it is still running the validator
on that first select menu.

There is a difference between the two selects... the first is keyed by
integers and the default value is -1 with a blank label.  The second is
keyed by strings and the default value is "" with a blank label.

I wonder if JSF is considering the -1 as a value that needs to be
validated and a "" as something it doesn't.

Putting required= true did seem to solve my needs for the string based
select.  Too bad it can't be consistent.

THANKS for the help.
Jason



On 3/29/07, Jason Vincent <[EMAIL PROTECTED]> wrote:
> ohh dang.
>
> Well that is precisely what I need to validate - that the default 
> "blank" value isn't the one that got submitted. hmmmmmm
>
> Suggestions?
> I suppose if it came to it, I could use an alternate form of 
> validation - javascript, or perhaps application layer validation.  My 
> preference, for simplicity, is to use JSF's validation layer.
>
> Thanks,
> Jason
>
> On 3/29/07, Baker,Jonathan <[EMAIL PROTECTED]> wrote:
> > Is it possible that the validation only runs if the value of the 
> > pulldown has changed?  I think I remember that happening to me.  I 
> > believe that the required check runs no matter what, but the 
> > validations only run if values change.
> >
> >
> > JB
> >
> > -----Original Message-----
> > From: Mike Kienenberger [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, March 29, 2007 1:54 PM
> > To: [email protected]
> > Subject: Re: JSF Validator on select menus only getting used once.
> >
> > That's pretty weird.  It looks ok as far as I can tell.
> > I would also think that each component would have its own instance 
> > of the validator.
> >
> > Maybe there's something strange in your validator code?  Are you 
> > maintaining any kind of static state?
> >
> >
> > On 3/29/07, Jason Vincent <[EMAIL PROTECTED]> wrote:
> > > Hi all,
> > >
> > > I have two pulldown select menus that are using the same
validator.
> > > when submitting the page, it appears that only the first select is

> > > getting validated and the second isn't validated at all.  This was

> > > confirmed by placing a breakpoint on the "validate" method of my 
> > > custom validator, called "selectOneMenuValueValidator".
> > >
> > > The validator is checking that the selected value isn't the first 
> > > item
> >
> > > in the list.
> > >
> > > Is there something I need to reset once the validation passes on 
> > > the
> > first menu?
> > >
> > > Thanks,
> > > Jason
> > >
> > >
> > >
> > >                 <h:panelGrid columns="2" 
> > > columnClasses="columnRight optionLabel, columnLeft">
> > >                     <h:outputText
> > value="#{messages['merchantStatus.status']}"/>
> > >                     <h:panelGroup>
> > >                         <h:selectOneMenu id="status"
> > > value="#{batchPartnerSetup$merchantStatus.selectedStatusId}">
> > >                             <f:selectItems 
> > > value="#{batchPartnerSetup$merchantStatus.statusPulldown}"/>
> > >                             <f:validator 
> > > validatorId="selectOneMenuValueValidator"/>
> > >                         </h:selectOneMenu>
> > >                         <h:message for="status"
> > > errorClass="validationError" fatalClass="validationError"
> > >                                    warnClass="validationError"
> > > infoClass="validationError"/>
> > >                     </h:panelGroup>
> > >                     <h:outputText
> > > value="#{messages['merchantStatus.statusComment']}"/>
> > >                     <h:panelGroup>
> > >                         <h:selectOneMenu id="comment"
> > > value="#{batchPartnerSetup$merchantStatus.selectedStatusComment}">
> > >                             <f:selectItems 
> > >
value="#{batchPartnerSetup$merchantStatus.statusCommentPulldown}"/>
> > >                             <f:validator 
> > > validatorId="selectOneMenuValueValidator"/>
> > >                         </h:selectOneMenu>
> > >                         <h:message for="comment"
> > > errorClass="validationError" fatalClass="validationError"
> > >                                    warnClass="validationError"
> > > infoClass="validationError"/>
> > >                     </h:panelGroup>
> > >                 </h:panelGrid>
> > >
> >
>

Reply via email to