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