package com.smartgwt.sample.showcase.client.forms.validation; import com.smartgwt.client.data.DataSource; import com.smartgwt.client.data.fields.DataSourceIntegerField; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.IButton; import com.smartgwt.client.widgets.events.ClickEvent; import com.smartgwt.client.widgets.events.ClickHandler; import com.smartgwt.client.widgets.form.DynamicForm; import com.smartgwt.client.widgets.form.validator.IntegerRangeValidator; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.sample.showcase.client.PanelFactory; import com.smartgwt.sample.showcase.client.ShowcasePanel; public class FormBuiltinsSample extends ShowcasePanel { private static final String DESCRIPTION = "Type a number greater than 20 or less than 1 and press \"Validate\" " + "to receive a validation error. Smart GWT implements the XML Schema set of validators on both client and server."; public static class Factory implements PanelFactory { private String id; public ShowcasePanel create() { FormBuiltinsSample panel = new FormBuiltinsSample(); id = panel.getID(); return panel; } public String getID() { return id; } public String getDescription() { return DESCRIPTION; } } public Canvas getViewPanel() { DataSource dataSource = new DataSource(); IntegerRangeValidator integerRangeValidator = new IntegerRangeValidator(); integerRangeValidator.setMin(1); integerRangeValidator.setMax(20); DataSourceIntegerField dsIntegerField = new DataSourceIntegerField("intField"); dsIntegerField.setTitle("Integer"); dsIntegerField.setValidators(integerRangeValidator); dataSource.setFields(dsIntegerField); final DynamicForm form = new DynamicForm(); form.setWidth(300); form.setDataSource(dataSource); IButton validateButton = new IButton(); validateButton.setTitle("Validate"); validateButton.addClickHandler(new ClickHandler() { public void onClick(ClickEvent event) { form.validate(); } }); HLayout hLayout = new HLayout(); hLayout.setMembersMargin(10); hLayout.addMember(form); hLayout.addMember(validateButton); return hLayout; } public String getIntro() { return DESCRIPTION; } }