Igor,
Here is the page:

*public class InscriptionProfessionnelGardeEnfant {*
*
*
*    @Property*
*    @Persist*
*    @Valid*
*    private ChildminderAccount childminderAccount;*
*
*
*    @Property*
*    private SelectModel childminderStatusSelectModel;*
*
*
*    @Inject*
*    private SelectModelFactory selectModelFactory;*
*
*
*    @Property*
*    @NotNull*
*    private String accountPasswordConfirmation;*
*
*
*    @Property*
*    private List<ChildMinderStatus> childMinderStatusList;*
*
*
*    @Inject*
*    private BignibouService service;*
*
*
*    @InjectComponent*
*    private Form childminderRegistrationForm;*
*
*
*    @OnEvent(EventConstants.PREPARE)*
*    void prepare() {*
*        childminderAccount = new ChildminderAccount();*
*        childMinderStatusList = service.loadChildminderStatusList();*
*        childminderStatusSelectModel =
selectModelFactory.create(childMinderStatusList,"childMinderStatusDescription");
*
*    }*
*
*
*    @OnEvent(value = EventConstants.VALIDATE, component =
"childminderRegistrationForm")*
*    void validateRegistrationForm() {*
*        if (childminderRegistrationForm.isValid()) {*
*            if
(accountPasswordConfirmation.equals(childminderAccount.getAccountPassword()))
{*
*                service.persistChildminderAccount(childminderAccount);*
*            }*
*            else {*
*             childminderRegistrationForm.recordError("passwords must
match");//todo*
*            }*
*
*
*        } else {*
*            System.out.println("something went wrong");*
*            childminderRegistrationForm.recordError("something went
wrong");//todo*
*        }*
*    }*
*
*
*    @DiscardAfter*
*    @OnEvent(EventConstants.SUCCESS)*
*    void successfulRegistrationForm() {*
*        System.out.println("success");*
*
*
*    }*
*
*
*}*

...and the template:
*<t:sublayout xmlns:t="http://tapestry.apache.org/schema/tapestry_5_1_0.xsd
">*
*    <head>*
*        <title>Hello World Page</title>*
*    </head>*
*    <body>*
*    <form t:type="form" t:id="childminderRegistrationForm" validate="this"
clientValidation="none">*
*        <div>*
*            <t:errors/>*
*        </div>*
*        <div>*
*            <label t:type="label" for="accountEmailAddress"/>*
*            <input t:type="textfield" t:id="accountEmailAddress"
value="childminderAccount.accountEmailAddress"/>*
*        </div>*
*        <div>*
*            <label t:type="label" for="accountFirstName"/>*
*            <input t:type="textfield" t:id="accountFirstName"
value="childminderAccount.accountFirstName"/>*
*        </div>*
*        <div>*
*            <label t:type="label" for="accountLastName"/>*
*            <input t:type="textfield" t:id="accountLastName"
value="childminderAccount.accountLastName"/>*
*        </div>*
*        <div>*
*            <label t:type="label" for="accountPassword"/>*
*            <input t:type="textfield" t:id="accountPassword"
value="childminderAccount.accountPassword"/>*
*        </div>*
*        <div>*
*            <label t:type="label" for="accountPasswordConfirmation"/>*
*            <input t:type="textfield" t:id="accountPasswordConfirmation"
value="accountPasswordConfirmation"/>*
*        </div>*
*        <div>*
*            <label t:type="label" for="postcode"/>*
*            <input t:type="textfield" t:id="postcode" id="postcode"
name="postcode" size="40"*
*                   value="childminderAccount.postcodeByPostcodeId"
translate="postcodeTranslator"/>*
*        </div>*
*        <div>*
*            <input t:type="select" model="childminderStatusSelectModel"
t:id="childminderStatus"*
*
 value="childminderAccount.childMinderStatusByChildMinderStatusId"
 blankLabel="votre statut"/>*
*        </div>*
*        <div><input t:type="submit" type="submit" value="ok"/></div>*
*    </form>*
*    </body>*
*</t:sublayout>*

Can you please let me know how to pass the childminderAccount to the form's
validate parameter? Do I do this in the template or the class?
Regards,

J.

2011/10/21 Igor Drobiazko <igor.drobia...@gmail.com>

> Either the object graph is not traversed or your ChildminderAccount object
> is null. The @Valid annotation is ignored for null objects. Please post the
> entire page class and template. You can also pass childminderAccount to the
> Form's validate parameter.
>
> On Thu, Oct 20, 2011 at 9:53 PM, Julien Martin <bal...@gmail.com> wrote:
>
> > Hi Igor,
> >
> > Yes I do use the form component as follows:
> >
> > From the class:
> > *    @InjectComponent*
> > *    private Form childminderRegistrationForm;*
> > *
> > *
> > From template:
> > *   <form t:type="form" t:id="childminderRegistrationForm"
> validate="this"
> > clientValidation="none">*
> >
> > Julien.
> >
> > 2011/10/20 Igor Drobiazko <igor.drobia...@gmail.com>
> >
> > > Please more details. "one of my Tapestry classes" is not precise enough
> > to
> > > identify the problem. You are using the Form component, right? Did you
> > use
> > > the Form's validate parameter?
> > >
> > > On Thu, Oct 20, 2011 at 9:30 PM, Julien Martin <bal...@gmail.com>
> wrote:
> > >
> > > > Hello,
> > > >
> > > > I have the following property in one of my Tapestry classes:
> > > > *    @Property*
> > > > *    @Persist*
> > > > *    @Valid*
> > > > *    private ChildminderAccount childminderAccount;*
> > > >
> > > >
> > > > The ChildminderAccount entity extends an abstract Account entity
> class
> > as
> > > > follows:
> > > >   *  public class ChildminderAccount extends Account*
> > > >
> > > > And finally the Account entity class has several properties including
> > > this
> > > > one:
> > > > *    @NotNull*
> > > > *    private String accountFirstname;*
> > > >
> > > > The problem I have is that Tapestry won't validate the annotated
> > > properties
> > > > even though I have added the tapestry-beanvalidator jar in the
> > classpath.
> > > >
> > > > Note that I don't use the beanform component for now.
> > > >
> > > > I use T5.2.6.
> > > >
> > > > Can anyone please help?
> > > >
> > > > Regards,
> > > >
> > > > Julien.
> > > >
> > >
> > >
> > >
> > > --
> > > Best regards,
> > >
> > > Igor Drobiazko
> > > http://tapestry5.de
> > >
> >
>
>
>
> --
> Best regards,
>
> Igor Drobiazko
> http://tapestry5.de
>

Reply via email to