You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by bo...@apache.org on 2006/10/07 10:47:49 UTC

svn commit: r453867 - in /myfaces/tobago/trunk: core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java

Author: bommel
Date: Sat Oct  7 01:47:48 2006
New Revision: 453867

URL: http://svn.apache.org/viewvc?view=rev&rev=453867
Log:
(TOBAGO-150) InRenderer should set maxlengh of input element if UIComponents has a LengthValidator with a maximum

Modified:
    myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
    myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java

Modified: myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java?view=diff&rev=453867&r1=453866&r2=453867
==============================================================================
--- myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java (original)
+++ myfaces/tobago/trunk/core/src/main/java/org/apache/myfaces/tobago/renderkit/html/HtmlAttributes.java Sat Oct  7 01:47:48 2006
@@ -70,5 +70,6 @@
   String ONKEYPRESS = "onkeypress";
   String ONKEYUP = "onkeyup";
   String CLASS = "class";
+  String MAXLENGTH = "maxlength";
 }
 

Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java?view=diff&rev=453867&r1=453866&r2=453867
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/InRenderer.java Sat Oct  7 01:47:48 2006
@@ -44,8 +44,11 @@
 import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIInput;
+import javax.faces.component.EditableValueHolder;
 import javax.faces.context.FacesContext;
 import javax.faces.el.MethodBinding;
+import javax.faces.validator.Validator;
+import javax.faces.validator.LengthValidator;
 import java.io.IOException;
 import java.util.Iterator;
 import java.util.List;
@@ -100,6 +103,19 @@
     }
     if (title != null) {
       writer.writeAttribute(HtmlAttributes.TITLE, title, null);
+    }
+    int maxLength = 0;
+    if (component instanceof EditableValueHolder) {
+      EditableValueHolder editableValueHolder = (EditableValueHolder) component;
+      for (Validator validator : editableValueHolder.getValidators()) {
+        if (validator instanceof LengthValidator) {
+          LengthValidator lengthValidator = (LengthValidator) validator;
+          maxLength = lengthValidator.getMaximum();
+        }
+      }
+    }
+    if (maxLength > 0) {
+      writer.writeAttribute(HtmlAttributes.MAXLENGTH, Integer.toString(maxLength), null);
     }
     writer.writeAttribute(HtmlAttributes.READONLY,
         ComponentUtil.getBooleanAttribute(component, ATTR_READONLY));