From fa31ca63efd5de25364fc88da4478c7005fbcee5 Mon Sep 17 00:00:00 2001 From: Joonas Lehtinen Date: Fri, 24 Oct 2008 13:11:51 +0000 Subject: [PATCH] Test for 2179 svn changeset:5714/svn branch:trunk --- .../toolkit/tests/tickets/Ticket2179.java | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 src/com/itmill/toolkit/tests/tickets/Ticket2179.java diff --git a/src/com/itmill/toolkit/tests/tickets/Ticket2179.java b/src/com/itmill/toolkit/tests/tickets/Ticket2179.java new file mode 100644 index 0000000000..d484741e61 --- /dev/null +++ b/src/com/itmill/toolkit/tests/tickets/Ticket2179.java @@ -0,0 +1,56 @@ +package com.itmill.toolkit.tests.tickets; + +import com.itmill.toolkit.Application; +import com.itmill.toolkit.data.Property; +import com.itmill.toolkit.data.Validator; +import com.itmill.toolkit.data.Property.ValueChangeEvent; +import com.itmill.toolkit.ui.TextField; +import com.itmill.toolkit.ui.Window; + +public class Ticket2179 extends Application { + + TextField f = new TextField("Test fiel ( must contain 1 & 2 )"); + Window main = new Window("Dual validator test"); + + @Override + public void init() { + + f.setImmediate(true); + f.setRequired(true); + f.addValidator(new ContainsValidator("1")); + f.addValidator(new ContainsValidator("2")); + + setMainWindow(main); + main.addComponent(f); + + f.addListener(new Property.ValueChangeListener() { + + public void valueChange(ValueChangeEvent event) { + main.showNotification("Test field is " + + (f.isValid() ? "valid" : "invalid")); + } + }); + + } + + class ContainsValidator implements Validator { + private final String c; + + public ContainsValidator(String c) { + this.c = c; + } + + public boolean isValid(Object value) { + return value != null && value.toString().contains(c); + } + + public void validate(Object value) throws InvalidValueException { + if (!isValid(value)) { + throw new InvalidValueException("Value does not contain " + c); + } + + } + + } + +} -- 2.39.5