Author: ppitonak(a)redhat.com
Date: 2011-03-10 10:00:36 -0500 (Thu, 10 Mar 2011)
New Revision: 22139
Added:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml
Log:
added validation samples
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSliderBean.java 2011-03-10
15:00:36 UTC (rev 22139)
@@ -26,6 +26,8 @@
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
import org.richfaces.component.html.HtmlInputNumberSlider;
import org.richfaces.tests.metamer.Attributes;
@@ -45,6 +47,9 @@
private static final long serialVersionUID = 595154649809L;
private static Logger logger;
private Attributes attributes;
+ private int value1;
+ private int value2;
+ private int value3;
/**
* Initializes the managed bean.
@@ -78,4 +83,30 @@
public void setAttributes(Attributes attributes) {
this.attributes = attributes;
}
+
+ @Min(2)
+ public int getValue1() {
+ return value1;
+ }
+
+ public void setValue1(int value1) {
+ this.value1 = value1;
+ }
+
+ @Max(2)
+ public int getValue2() {
+ return value2;
+ }
+
+ public void setValue2(int value2) {
+ this.value2 = value2;
+ }
+
+ public int getValue3() {
+ return value3;
+ }
+
+ public void setValue3(int value3) {
+ this.value3 = value3;
+ }
}
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichInputNumberSpinnerBean.java 2011-03-10
15:00:36 UTC (rev 22139)
@@ -26,6 +26,8 @@
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
import org.richfaces.component.html.HtmlInputNumberSpinner;
import org.richfaces.tests.metamer.Attributes;
@@ -45,6 +47,9 @@
private static final long serialVersionUID = -1L;
private static Logger logger;
private Attributes attributes;
+ private int value1;
+ private int value2;
+ private int value3;
/**
* Initializes the managed bean.
@@ -74,4 +79,30 @@
public void setAttributes(Attributes attributes) {
this.attributes = attributes;
}
+
+ @Min(2)
+ public int getValue1() {
+ return value1;
+ }
+
+ public void setValue1(int value1) {
+ this.value1 = value1;
+ }
+
+ @Max(2)
+ public int getValue2() {
+ return value2;
+ }
+
+ public void setValue2(int value2) {
+ this.value2 = value2;
+ }
+
+ public int getValue3() {
+ return value3;
+ }
+
+ public void setValue3(int value3) {
+ this.value3 = value3;
+ }
}
Modified:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/bean/RichSelectBean.java 2011-03-10
15:00:36 UTC (rev 22139)
@@ -31,6 +31,9 @@
import javax.faces.bean.ViewScoped;
import javax.faces.event.ValueChangeEvent;
import javax.faces.model.SelectItem;
+import javax.validation.constraints.Pattern;
+import javax.validation.constraints.Size;
+import org.hibernate.validator.constraints.NotEmpty;
import org.richfaces.component.UISelect;
import org.richfaces.tests.metamer.Attributes;
@@ -54,6 +57,11 @@
@ManagedProperty(value = "#{model.capitals}")
private List<Capital> capitals;
private List<SelectItem> capitalsOptions = null;
+ private List<SelectItem> validationOptions = null;
+ private String value1;
+ private String value2;
+ private String value3;
+ private String value4;
/**
* Initializes the managed bean.
@@ -64,9 +72,15 @@
logger.debug("initializing bean " + getClass().getName());
capitalsOptions = new ArrayList<SelectItem>();
+ validationOptions = new ArrayList<SelectItem>();
for (Capital capital : capitals) {
capitalsOptions.add(new SelectItem(capital.getState(), capital.getState()));
+ validationOptions.add(new SelectItem(capital.getState(),
capital.getState()));
}
+ validationOptions.add(new SelectItem("@@", "@@"));
+ validationOptions.add(new SelectItem("", ""));
+ validationOptions.add(new SelectItem("RichFaces",
"RichFaces"));
+ validationOptions.add(new SelectItem("richfaces",
"richfaces"));
attributes = Attributes.getComponentAttributesFromFacesConfig(UISelect.class,
getClass());
@@ -106,6 +120,49 @@
this.capitalsOptions = capitalsOptions;
}
+ public List<SelectItem> getValidationOptions() {
+ return validationOptions;
+ }
+
+ public void setValidationOptions(List<SelectItem> validationOptions) {
+ this.validationOptions = validationOptions;
+ }
+
+ @NotEmpty
+ public String getValue1() {
+ return value1;
+ }
+
+ public void setValue1(String value1) {
+ this.value1 = value1;
+ }
+
+ @Pattern(regexp = "[a-z].*")
+ public String getValue2() {
+ return value2;
+ }
+
+ public void setValue2(String value2) {
+ this.value2 = value2;
+ }
+
+ @Size(min = 3, max = 6)
+ public String getValue3() {
+ return value3;
+ }
+
+ public void setValue3(String value3) {
+ this.value3 = value3;
+ }
+
+ public String getValue4() {
+ return value4;
+ }
+
+ public void setValue4(String value4) {
+ this.value4 = value4;
+ }
+
public void listener(ValueChangeEvent event) {
RichBean.logToPage("* value changed: " + event.getOldValue() + "
-> " + event.getNewValue());
}
Added:
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java
===================================================================
---
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/java/org/richfaces/tests/metamer/validator/PositiveNumberValidator.java 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,53 @@
+/*******************************************************************************
+ * JBoss, Home of Professional Open Source
+ * Copyright 2010-2011, Red Hat, Inc. and individual contributors
+ * by the @authors tag. See the copyright.txt in the distribution for a
+ * full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ *******************************************************************************/
+package org.richfaces.tests.metamer.validator;
+
+import javax.faces.application.FacesMessage;
+import javax.faces.component.UIComponent;
+import javax.faces.context.FacesContext;
+import javax.faces.validator.FacesValidator;
+import javax.faces.validator.Validator;
+import javax.faces.validator.ValidatorException;
+
+/**
+ * Custom number validator that accepts only positive numbers.
+ *
+ * @author <a href="mailto:ppitonak@redhat.com">Pavol Pitonak</a>
+ * @version $Revision$
+ */
+(a)FacesValidator("org.richfaces.PositiveNumberValidator")
+public class PositiveNumberValidator implements Validator {
+
+ @Override
+ public void validate(FacesContext context, UIComponent component, Object value)
throws ValidatorException {
+ FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR, "must be a
positive number",
+ "must be a positive number");
+
+ if (value == null || !(value instanceof Integer)) {
+ throw new ValidatorException(msg);
+ }
+
+ if ((Integer) value <= 0) {
+ throw new ValidatorException(msg);
+ }
+ }
+}
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -42,8 +42,8 @@
defaultLabel="#{richInplaceInputBean.attributes['defaultLabel'].value}"
value="#{richInplaceInputBean.value1}"
+ <rich:validator
event="change"/>
<a4j:ajax event="change"
render="output1"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg1" for="input1"/>
@@ -52,8 +52,8 @@
defaultLabel="#{richInplaceInputBean.attributes['defaultLabel'].value}"
value="#{richInplaceInputBean.value2}"
+ <rich:validator
event="change"/>
<a4j:ajax event="change"
render="output2"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg2" for="input2"/>
@@ -62,8 +62,8 @@
defaultLabel="#{richInplaceInputBean.attributes['defaultLabel'].value}"
value="#{richInplaceInputBean.value3}"
+ <rich:validator
event="change"/>
<a4j:ajax event="change"
render="output3"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg3" for="input3"/>
@@ -73,8 +73,8 @@
value="#{richInplaceInputBean.value4}"
<f:validator
validatorId="org.richfaces.StringRichFacesValidator"/>
+ <rich:validator event="change"/>
<a4j:ajax event="change"
render="output4"/>
- <rich:validator event="change"/>
</rich:inplaceInput>
<rich:message id="inputMsg4" for="input4"/>
Copied:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml
(from rev 22138,
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/csv.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+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.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates"
value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSlider id="slider1" maxValue="10"
minValue="-10" value="#{richInputNumberSliderBean.value1}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change"
render="output1"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg1" for="slider1"/>
+
+ max 2
+ <rich:inputNumberSlider id="slider2" maxValue="10"
minValue="-10" value="#{richInputNumberSliderBean.value2}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change"
render="output2"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg2" for="slider2"/>
+
+ custom (positive)
+ <rich:inputNumberSlider id="slider3" maxValue="10"
minValue="-10" value="#{richInputNumberSliderBean.value3}">
+ <f:validator
validatorId="org.richfaces.PositiveNumberValidator"/>
+ <rich:validator event="change"/>
+ <a4j:ajax event="change"
render="output3"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg3" for="slider3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1"
value="#{richInplaceInputBean.value1}"/>
+ output2
+ <h:outputText id="output2"
value="#{richInplaceInputBean.value2}"/>
+ output3
+ <h:outputText id="output3"
value="#{richInplaceInputBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml
(from rev 22138,
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/jsr303.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+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.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates"
value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton"
style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton"
value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSlider id="slider1" maxValue="10"
minValue="-10" value="#{richInputNumberSliderBean.value1}">
+ <a4j:ajax event="change"
render="output1"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg1" for="slider1"/>
+
+ max 2
+ <rich:inputNumberSlider id="slider2" maxValue="10"
minValue="-10" value="#{richInputNumberSliderBean.value2}">
+ <a4j:ajax event="change"
render="output2"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg2" for="slider2"/>
+
+ custom (positive)
+ <rich:inputNumberSlider id="slider3" maxValue="10"
minValue="-10" value="#{richInputNumberSliderBean.value3}">
+ <f:validator
validatorId="org.richfaces.PositiveNumberValidator"/>
+ <a4j:ajax event="change"
render="output3"/>
+ </rich:inputNumberSlider>
+ <rich:message id="inputMsg3" for="slider3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1"
value="#{richInplaceInputBean.value1}"/>
+ output2
+ <h:outputText id="output2"
value="#{richInplaceInputBean.value2}"/>
+ output3
+ <h:outputText id="output3"
value="#{richInplaceInputBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSlider/list.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -39,6 +39,14 @@
Page containing <b>rich:inputNumberSlider</b> with f:ajax and
input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv"
value="Client Side Validation">
+ Simple page that contains 3 <b>rich:inputNumberSlider</b>s
testing client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303"
value="JSR-303 Bean Validation">
+ Page containing 3 <b>rich:inputNumberSlider</b>s with various
JSR-303 validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>
Copied:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml
(from rev 22138,
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/csv.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,79 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+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.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates"
value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSpinner id="input1" maxValue="10"
minValue="-10" value="#{richInputNumberSpinnerBean.value1}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change"
render="output1"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ max 2
+ <rich:inputNumberSpinner id="input2" maxValue="10"
minValue="-10" value="#{richInputNumberSpinnerBean.value2}">
+ <rich:validator event="change"/>
+ <a4j:ajax event="change"
render="output2"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ custom (positive)
+ <rich:inputNumberSpinner id="input3" maxValue="10"
minValue="-10" value="#{richInputNumberSpinnerBean.value3}">
+ <f:validator
validatorId="org.richfaces.PositiveNumberValidator"/>
+ <rich:validator event="change"/>
+ <a4j:ajax event="change"
render="output3"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1"
value="#{richInputNumberSpinnerBean.value1}"/>
+ output2
+ <h:outputText id="output2"
value="#{richInputNumberSpinnerBean.value2}"/>
+ output3
+ <h:outputText id="output3"
value="#{richInputNumberSpinnerBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml
(from rev 22138,
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/jsr303.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+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.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates"
value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton"
style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton"
value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ min 2
+ <rich:inputNumberSpinner id="input1" maxValue="10"
minValue="-10" value="#{richInputNumberSpinnerBean.value1}">
+ <a4j:ajax event="change"
render="output1"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ max 2
+ <rich:inputNumberSpinner id="input2" maxValue="10"
minValue="-10" value="#{richInputNumberSpinnerBean.value2}">
+ <a4j:ajax event="change"
render="output2"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ custom (positive)
+ <rich:inputNumberSpinner id="input3" maxValue="10"
minValue="-10" value="#{richInputNumberSpinnerBean.value3}">
+ <f:validator
validatorId="org.richfaces.PositiveNumberValidator"/>
+ <a4j:ajax event="change"
render="output3"/>
+ </rich:inputNumberSpinner>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1"
value="#{richInputNumberSpinnerBean.value1}"/>
+ output2
+ <h:outputText id="output2"
value="#{richInputNumberSpinnerBean.value2}"/>
+ output3
+ <h:outputText id="output3"
value="#{richInputNumberSpinnerBean.value3}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richInputNumberSpinner/list.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -39,6 +39,14 @@
Page containing <b>rich:inputNumberSpinner</b> with f:ajax
and input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv"
value="Client Side Validation">
+ Simple page that contains 3 <b>rich:inputNumberSpinner</b>s
testing client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303"
value="JSR-303 Bean Validation">
+ Page containing 3 <b>rich:inputNumberSpinner</b>s with
various JSR-303 validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>
Copied:
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml
(from rev 22138,
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/csv.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+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.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates"
value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:panelGrid columns="3">
+ not empty
+ <rich:select id="input1"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value1}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change"
render="output1"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ pattern [a-z].*
+ <rich:select id="input2"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value2}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change"
render="output2"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ size 3-6
+ <rich:select id="input3"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value3}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change"
render="output3"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ custom (RichFaces)
+ <rich:select id="input4"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value4}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <f:validator
validatorId="org.richfaces.StringRichFacesValidator"/>
+ <a4j:ajax event="change"
render="output4"/>
+ <rich:validator event="change"/>
+ </rich:select>
+ <rich:message id="inputMsg4" for="input4"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1"
value="#{richSelectBean.value1}"/>
+ output2
+ <h:outputText id="output2"
value="#{richSelectBean.value2}"/>
+ output3
+ <h:outputText id="output3"
value="#{richSelectBean.value3}"/>
+ output4
+ <h:outputText id="output4"
value="#{richSelectBean.value4}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Copied:
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml
(from rev 22138,
modules/tests/metamer/trunk/application/src/main/webapp/components/richInplaceInput/csv.xhtml)
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml
(rev 0)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/jsr303.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
+
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:rich="http://richfaces.org/rich"
xmlns:a4j="http://richfaces.org/a4j">
+
+ <!--
+JBoss, Home of Professional Open Source
+Copyright 2010-2011, Red Hat, Inc. and individual contributors
+by the @authors tag. See the copyright.txt in the distribution for a
+full listing of individual contributors.
+
+This is free software; you can redistribute it and/or modify it
+under the terms of the GNU Lesser General Public License as
+published by the Free Software Foundation; either version 2.1 of
+the License, or (at your option) any later version.
+
+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.
+
+You should have received a copy of the GNU Lesser General Public
+License along with this software; if not, write to the Free
+Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+02110-1301 USA, or see the FSF site:
http://www.fsf.org.
+ -->
+
+ <ui:composition template="/templates/template.xhtml">
+
+ <ui:define name="view">
+ <f:metadata>
+ <f:viewParam name="templates"
value="#{templateBean.templates}">
+ <f:converter converterId="templatesListConverter" />
+ </f:viewParam>
+ </f:metadata>
+ </ui:define>
+
+ <ui:define name="component">
+ <h:commandButton id="hButton" value="h:commandButton"
style="margin-right: 10px;"/>
+ <a4j:commandButton id="a4jButton"
value="a4j:commandButton"/>
+ <br/><br/>
+
+ <h:panelGrid columns="3">
+ not empty
+ <rich:select id="input1"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value1}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change"
render="output1"/>
+ </rich:select>
+ <rich:message id="inputMsg1" for="input1"/>
+
+ pattern [a-z].*
+ <rich:select id="input2"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value2}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change"
render="output2"/>
+ </rich:select>
+ <rich:message id="inputMsg2" for="input2"/>
+
+ size 3-6
+ <rich:select id="input3"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value3}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <a4j:ajax event="change"
render="output3"/>
+ </rich:select>
+ <rich:message id="inputMsg3" for="input3"/>
+
+ custom (RichFaces)
+ <rich:select id="input4"
+
defaultLabel="#{richSelectBean.attributes['defaultLabel'].value}"
+ value="#{richSelectBean.value4}"
+ >
+ <f:selectItems
value="#{richSelectBean.validationOptions}" />
+ <f:validator
validatorId="org.richfaces.StringRichFacesValidator"/>
+ <a4j:ajax event="change"
render="output4"/>
+ </rich:select>
+ <rich:message id="inputMsg4" for="input4"/>
+
+ </h:panelGrid>
+ <br/><br/>
+
+ <h:panelGrid columns="2">
+ output1
+ <h:outputText id="output1"
value="#{richSelectBean.value1}"/>
+ output2
+ <h:outputText id="output2"
value="#{richSelectBean.value2}"/>
+ output3
+ <h:outputText id="output3"
value="#{richSelectBean.value3}"/>
+ output4
+ <h:outputText id="output4"
value="#{richSelectBean.value4}"/>
+ </h:panelGrid>
+ </ui:define>
+
+ <ui:define name="outOfTemplateAfter">
+ </ui:define>
+
+ </ui:composition>
+</html>
\ No newline at end of file
Modified:
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml
===================================================================
---
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml 2011-03-10
14:52:47 UTC (rev 22138)
+++
modules/tests/metamer/trunk/application/src/main/webapp/components/richSelect/list.xhtml 2011-03-10
15:00:36 UTC (rev 22139)
@@ -39,6 +39,14 @@
Simple page that contains <b>rich:select</b> with f:ajax and
input boxes for all its attributes.
</metamer:testPageLink>
+ <metamer:testPageLink id="csv" outcome="csv"
value="Client Side Validation">
+ Simple page that contains 4 <b>rich:select</b>s testing
client-side validation.
+ </metamer:testPageLink>
+
+ <metamer:testPageLink id="jsr303" outcome="jsr303"
value="JSR-303 Bean Validation">
+ Page containing 4 <b>rich:select</b>s with various JSR-303
validators.
+ </metamer:testPageLink>
+
</ui:define>
</ui:composition>