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: user@shale.apache.org
> 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