Mega Code Archive

 
Categories / Java / GWT
 

Form data binding (Smart GWT)

/*  * SmartGWT (GWT for SmartClient)  * Copyright 2008 and beyond, Isomorphic Software, Inc.  *  * SmartGWT is free software; you can redistribute it and/or modify it  * under the terms of the GNU Lesser General Public License version 3  * as published by the Free Software Foundation.  SmartGWT is also  * available under typical commercial license terms - see  * http://smartclient.com/license  * This software is distributed in the hope that it will be useful,  * but WITHOUT ANY WARRANTY; without even the implied warranty of  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU  * Lesser General Public License for more details.  */ package com.smartgwt.sample.showcase.client; import com.google.gwt.core.client.EntryPoint; import com.google.gwt.user.client.ui.RootPanel; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.fields.DataSourcePasswordField; import com.smartgwt.client.data.fields.DataSourceTextField; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.fields.ButtonItem; import com.smartgwt.client.widgets.form.fields.CheckboxItem; import com.smartgwt.client.widgets.form.fields.HeaderItem; import com.smartgwt.client.widgets.form.fields.PasswordItem; import com.smartgwt.client.widgets.form.fields.events.ClickEvent; import com.smartgwt.client.widgets.form.fields.events.ClickHandler; import com.smartgwt.client.widgets.form.validator.MatchesFieldValidator; import com.smartgwt.client.widgets.form.validator.RegExpValidator; public class Showcase implements EntryPoint {   public void onModuleLoad() {     RootPanel.get().add(getViewPanel());   }   public Canvas getViewPanel() {     DataSource dataSource = new DataSource();     DataSourceTextField firstNameField = new DataSourceTextField("firstName", "First Name", 50, true);     DataSourceTextField lastNameField = new DataSourceTextField("lastName", "Last Name", 50, true);     DataSourceTextField emailField = new DataSourceTextField("email", "Email", 100, true);     RegExpValidator emailValidator = new RegExpValidator();     emailValidator.setErrorMessage("Invalid email address");     emailValidator.setExpression("^([a-zA-Z0-9_.\\-+])+@(([a-zA-Z0-9\\-])+\\.)+[a-zA-Z0-9]{2,4}$");          emailField.setValidators(emailValidator);     DataSourcePasswordField passwordField = new DataSourcePasswordField("password", "Password", 20, true);     dataSource.setFields(firstNameField, lastNameField, emailField, passwordField);     final DynamicForm form = new DynamicForm();     form.setDataSource(dataSource);     form.setUseAllDataSourceFields(true);     HeaderItem header = new HeaderItem();     header.setDefaultValue("Registration Form");     PasswordItem passwordItem = new PasswordItem();     passwordItem.setName("password");     PasswordItem passwordItem2 = new PasswordItem();     passwordItem2.setName("password2");     passwordItem2.setTitle("Password Again");     passwordItem2.setRequired(true);     passwordItem2.setLength(20);     MatchesFieldValidator matchesValidator = new MatchesFieldValidator();     matchesValidator.setOtherField("password");     matchesValidator.setErrorMessage("Passwords do not match");             passwordItem2.setValidators(matchesValidator);     CheckboxItem acceptItem = new CheckboxItem();     acceptItem.setName("acceptTerms");     acceptItem.setTitle("I accept the terms of use.");     acceptItem.setRequired(true);     acceptItem.setWidth(150);     ButtonItem validateItem = new ButtonItem();     validateItem.setTitle("Validate");     validateItem.addClickHandler(new ClickHandler() {         public void onClick(ClickEvent event) {             form.validate(false);         }     });     form.setFields(header, passwordItem, passwordItem2, acceptItem, validateItem);          form.setValue("firstName", "Bob");     form.setValue("email", "bob@.com");     form.setValue("password", "sekrit");     form.setValue("password2", "fatfinger");                return form;   } }                  SmartGWT.zip( 9,880 k)