Try bindnig the BeanEditForm to the zone to prevent full page reload on submit (zone="^")
On Wed, Jul 15, 2015 at 4:34 PM, Matthias Bieber <mabi1...@gmx.de> wrote: > Hello, > > I have a BeanEditForm inside a jquery.dialog. The dialog will be opened if > you click on a link. > I want to validate the input by using onValidateFrom..Form..() and > form.recordError(). > > Once the submit button has been clicked, the page will be reloaded and the > jquery.dialog disappears. > After opening the dialog again, the BeanEditForm has been reset. So the > error message has not been displayed. > > Do you know how to keep the dialog open with the current error message? > > Thank you. > > > Index.tml: > <html t:type="layout" title="HelloWorld Index" > t:sidebarTitle="Framework Version" > xmlns:t="http://tapestry.apache.org/schema/tapestry_5_3.xsd" > xmlns:p="tapestry:parameter"> > <t:jquery.dialogajaxlink t:id="createPerson" class="linkbutton round" > t:dialog="newPersonDialog" > t:zone="newPersonDialogZone"> > Create Person > </t:jquery.dialogajaxlink> > > <t:jquery.dialog t:id="newPersonDialog" t:clientId="newPersonDialog" > params="newPersonDialogParams"> > <t:zone t:id="newPersonDialogZone" id="newPersonDialogZone"> > <t:BeanEditForm t:id="personForm" t:object="person" > t:cancel="true" exclude="id, owner"/> > </t:zone> > </t:jquery.dialog> > </html> > > Index.java: > @Property > private Person person; > > @Component(id = "personForm") > private BeanEditForm form; > @InjectComponent > private Zone newPersonDialogZone; > > public Index() > { > person = new Person(); > } > > @Log > void onValidateFromPersonForm() > { > String name = person.getName(); > > if(name == null || name.isEmpty()) > form.recordError("Please enter a name"); > } > > Object onActionFromCreatePerson() { > return newPersonDialogZone.getBody(); > } > > public JSONObject getNewPersonDialogParams() { > JSONObject obj = new JSONObject(); > obj.put("autoopen", "true"); > obj.put("modal", "true"); > obj.put("title", "Title"); > obj.put("height", "auto"); > obj.put("width", "auto"); > return obj; > } > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org > For additional commands, e-mail: users-h...@tapestry.apache.org > >