>From: "James Reynolds" <[EMAIL PROTECTED]> > > > Hmm, I downloaded the latest Shale libs and the first thing I notice is > that the validator fires for an h:inputText that isn't rendered. This > is what I have on my page: > ><h:outputText value="Last Name:"/> > <h:outputText value="#{sessionScope.visit.user.lastName}" > style="font-weight:bold;" > rendered="#{!members$myAccount.editName}"/> > <h:inputText id="lastName" > value="#{sessionScope.visit.user.lastName}" > rendered="#{members$myAccount.editName}" > binding="#{members$myAccount.lastNameInput}" > required="true"> > <s:commonsValidator type="required" > arg="Last name" > server="true" > client="true"/> > <h:message for="lastName" >errorClass="errorText"/> > </h:inputText> > > > The inputText boxes are not rendered unless the user clicks a "Update > Name" button that changes the boolean "editName" property. The problem > is that the Update Name button is triggering the validation on the > un-rendered InputText control. > > I suppose the form's onSubmit event caller assumes the existence of the > Input boxes. >
Yeah, that's a bug. The ValidatorScript should not generate javascript for components that are not rendered. Please create an issue tracker for this one - http://issues.apache.org/struts/. As a quick fix, you might try adding the same value binding to the commonValidator client attribute. <s:commonsValidator type="required" arg="Last name" server="true" client="#{members$myAccount.editName}"/> Gary > > -----Original Message----- > From: Gary VanMatre [mailto:[EMAIL PROTECTED] > Sent: Tuesday, May 23, 2006 12:52 PM > To: Struts Users Mailing List > Subject: Re: [Shale] How to cancel the > > >From: "James Reynolds" > > > > > > I'm coding a cancel button on an update form. I've set its immediate > > attribute to true, but that isn't skipping the client side validation. > > Is there a way to do this, or must I only use server validation in > > this case? > > > > If you are using the JSF runtime commandButton or commandLink component, > the JavaScript, "bCancel=true;", will be injected into the onclick event > when the "immediate" is set to "true". > > http://issues.apache.org/struts/browse/SHALE-37 > > Originally, this worked for all the "javax.faces.Command" family but it > was just limited to the two JSF runtime command components due to a > tomahawk component issue, > http://issues.apache.org/struts/browse/SHALE-68. > > Gary > > > > Thanks > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] >