Any chance of doing to Tapestry 4.0.2 as well ? Shing
--- Jesse Kuhnert <[EMAIL PROTECTED]> wrote: > Ouch, nice catch! I've applied the changes and will > deploy in next tapestry > 4.1 snapshot release later today. > > On 7/26/06, Shing Hing Man <[EMAIL PROTECTED]> wrote: > > > > I have tried out the suggestion in the post > > (*) > > > > > http://article.gmane.org/gmane.comp.java.tapestry.user/38761/match=required+validator > > > > to implement client side 'required' validation on > a > > Checkbox compponent (in Tapestry 4.0.2). > > In (*), a validator with a custom javascript to > > validate a required checkbox was given. > > > > When I test it, the javascript does the > validation > > never get rendered. > > After some debugging, I noticed that in the method > > renderComponent of Checkbox.java, > > it does not call > > > > > getValidatableFieldSupport().renderContributions(this, > > writer, cycle); > > > > > > It is in the method > > getValidatableFieldSupport().renderContributions() > > that > > the javascript that does the validation is > rendered. > > After adding > > > getValidatableFieldSupport().renderContributions(this, > > writer, cycle); > > into the method renderComponent of > Checkbox.java, > > the client side validation works. > > Also if I add > > > > renderDelegatePrefix(writer, cycle); > > and > > renderDelegateSuffix(writer, cycle); > > > > to the method renderComponent of Checkbox.java. > > the custom required validator also works when the > > validation is done on the server. > > > > Here is the modified renderComponent method of > > Checkbox.java : > > > > protected void renderFormComponent(IMarkupWriter > > writer, IRequestCycle cycle) > > { > > // New > > renderDelegatePrefix(writer, cycle); > > > > writer.beginEmpty("input"); > > writer.attribute("type", "checkbox"); > > > > writer.attribute("name", getName()); > > > > if (isDisabled()) > > writer.attribute("disabled", > "disabled"); > > > > if (getValue()) > > writer.attribute("checked", > "checked"); > > > > renderIdAttribute(writer, cycle); > > > > // New > > > > > getValidatableFieldSupport().renderContributions(this, > > writer, cycle); > > > > renderInformalParameters(writer, cycle); > > > > writer.closeTag(); > > // New > > renderDelegateSuffix(writer, cycle); > > } > > > > > > Components like TextField and TextArea have > > renderDelegatePrefix(writer, cycle); > > > > > > > getValidatableFieldSupport().renderContributions(this, > > writer, cycle); > > renderDelegateSuffix(writer, cycle) > > > > in their renderComponent methods. > > Shouldn't Checkbox be the same ? > > > > Shing > > > > > > Home page : > > http://uk.geocities.com/matmsh/index.html > > > > > > > > > ___________________________________________________________ > > The all-new Yahoo! Mail goes wherever you go - > free your email address > > from your Internet provider. > http://uk.docs.yahoo.com/nowyoucan.html > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: > [EMAIL PROTECTED] > > For additional commands, e-mail: > [EMAIL PROTECTED] > > > > > > > -- > Jesse Kuhnert > Tacos/Tapestry, team member/developer > > Open source based consulting work centered around > dojo/tapestry/tacos/hivemind. > Home page : http://uk.geocities.com/matmsh/index.html ___________________________________________________________ The all-new Yahoo! Mail goes wherever you go - free your email address from your Internet provider. http://uk.docs.yahoo.com/nowyoucan.html --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]