Author: alexsmirnov
Date: 2011-02-03 16:21:58 -0500 (Thu, 03 Feb 2011)
New Revision: 21437
Modified:
trunk/examples/validator-demo/pom.xml
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MaxBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinMaxBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotEmptyBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotNullBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/PatternBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/SizeBean.java
trunk/examples/validator-demo/src/main/java/org/richfaces/example/Validable.java
trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.xhtml
Log:
RESOLVED - issue RF-10311: CSV: JSR-303 validators works using ajax falback only
https://issues.jboss.org/browse/RF-10311
Modified: trunk/examples/validator-demo/pom.xml
===================================================================
--- trunk/examples/validator-demo/pom.xml 2011-02-03 20:26:45 UTC (rev 21436)
+++ trunk/examples/validator-demo/pom.xml 2011-02-03 21:21:58 UTC (rev 21437)
@@ -75,5 +75,10 @@
<artifactId>slf4j-simple</artifactId>
<version>1.5.11</version>
</dependency>
+ <dependency>
+ <groupId>javax.servlet</groupId>
+ <artifactId>jstl</artifactId>
+ <version>1.2</version>
+ </dependency>
</dependencies>
</project>
Modified: trunk/examples/validator-demo/src/main/java/org/richfaces/example/MaxBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MaxBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MaxBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -5,14 +5,12 @@
import javax.validation.constraints.Max;
-import org.hibernate.validator.constraints.Email;
-
/**
* @author asmirnov
*
*/
-public class MaxBean implements Validable<Integer> {
+public class MaxBean extends Validable<Integer> {
@Max(10)
private Integer value = 0;
Modified: trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -10,7 +10,7 @@
* @author asmirnov
*
*/
-public class MinBean implements Validable<Integer> {
+public class MinBean extends Validable<Integer> {
@Min(2)
private Integer value=2;
Modified:
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinMaxBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinMaxBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/MinMaxBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -11,7 +11,7 @@
* @author asmirnov
*
*/
-public class MinMaxBean implements Validable<Integer> {
+public class MinMaxBean extends Validable<Integer> {
@Min(2)
@Max(10)
Modified:
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotEmptyBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotEmptyBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotEmptyBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -10,7 +10,7 @@
* @author asmirnov
*
*/
-public class NotEmptyBean implements Validable<String> {
+public class NotEmptyBean extends Validable<String> {
@NotEmpty
private String value;
Modified:
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotNullBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotNullBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/NotNullBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -10,7 +10,7 @@
* @author asmirnov
*
*/
-public class NotNullBean implements Validable<String> {
+public class NotNullBean extends Validable<String> {
@NotNull
private String value;
Modified:
trunk/examples/validator-demo/src/main/java/org/richfaces/example/PatternBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/PatternBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/PatternBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -10,14 +10,14 @@
* @author asmirnov
*
*/
-public class PatternBean implements Validable<String> {
+public class PatternBean extends Validable<String> {
private String value;
/**
* @return the text
*/
- @Pattern(regexp="^[a-Z][a-Z1-9_]$")
+ @Pattern(regexp="[a-z].*")
public String getValue() {
return value;
}
@@ -30,7 +30,7 @@
}
public String getDescription() {
- return "Text Value, Pattern '^[a-Z][a-Z1-9_]$' Validation";
+ return "Text Value, Pattern '[a-Z].*' Validation";
}
public String getLabel() {
return "pattern";
Modified: trunk/examples/validator-demo/src/main/java/org/richfaces/example/SizeBean.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/SizeBean.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/SizeBean.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -10,7 +10,7 @@
* @author asmirnov
*
*/
-public class SizeBean implements Validable<String> {
+public class SizeBean extends Validable<String> {
@Size(max=10,min=2,message="incorrect field length")
private String value;
Modified:
trunk/examples/validator-demo/src/main/java/org/richfaces/example/Validable.java
===================================================================
---
trunk/examples/validator-demo/src/main/java/org/richfaces/example/Validable.java 2011-02-03
20:26:45 UTC (rev 21436)
+++
trunk/examples/validator-demo/src/main/java/org/richfaces/example/Validable.java 2011-02-03
21:21:58 UTC (rev 21437)
@@ -3,17 +3,33 @@
*/
package org.richfaces.example;
+import java.lang.reflect.ParameterizedType;
+
+import javax.faces.context.FacesContext;
+import javax.faces.convert.Converter;
+
/**
* @author asmirnov
*
*/
-public interface Validable<T> {
+public abstract class Validable<T> {
+
+ T value;
- T getValue();
+ public T getValue(){
+ return value;
+ }
- void setValue(T value);
+ public void setValue(T value){
+ this.value=value;
+ }
- String getDescription();
+ public Converter getConverter(){
+ Class<T> parameterType = (Class<T>) ((ParameterizedType)
getClass().getGenericSuperclass()).getActualTypeArguments()[0];
+ return
FacesContext.getCurrentInstance().getApplication().createConverter(parameterType);
+ }
+
+ public abstract String getDescription();
- String getLabel();
+ public abstract String getLabel();
}
Modified: trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.xhtml
===================================================================
--- trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.xhtml 2011-02-03
20:26:45 UTC (rev 21436)
+++ trunk/examples/validator-demo/src/main/webapp/examples/beanValidation.xhtml 2011-02-03
21:21:58 UTC (rev 21437)
@@ -13,19 +13,15 @@
<!-- content -->
<ui:define name="content">
<h:form id="form">
- <h:dataTable value="#{dataBean.beans}" var="bean">
- <h:column>
- <h:outputLabel for="value" value="#{bean.description}" />
- </h:column>
- <h:column>
- <h:inputText id="value" value="#{bean.value}"
label="#{bean.label}">
+ <h:panelGrid columns="3">
+ <c:forEach items="#{dataBean.beans}" var="bean">
+ <h:outputLabel for="#{bean.label}"
value="#{bean.description}" />
+ <h:inputText id="#{bean.label}" value="#{bean.value}"
label="#{bean.label}" converter="#{bean.converter}">
<csv:validator summary="Invalid value" />
</h:inputText>
- </h:column>
- <h:column>
- <csv:message for="value" />
- </h:column>
- </h:dataTable>
+ <csv:message for="#{bean.label}" />
+ </c:forEach>
+ </h:panelGrid>
<h:commandButton value="Submit"></h:commandButton>
<csv:messages />
</h:form>