diff --git a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js
--- a/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js
+++ b/modules/org.openbravo.client.application/web/org.openbravo.client.application/js/form/formitem/ob-formitem-date.js
@@ -80,6 +80,9 @@
     this.Super('init', arguments);
 
     if (this.textField) {
+      if (this.length) {
+        this.textField.length = this.length;
+      }
       this.textField.changed = function () {
         // when the textfield of the date is updated, the date
         // field should be flagged as changed
diff --git a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/DateUIDefinition.java
@@ -72,8 +72,15 @@
   public String getFieldProperties(Field field) {
     String fieldProperties = super.getFieldProperties(field);
     try {
-      JSONObject o = new JSONObject(fieldProperties);
+      JSONObject o = new JSONObject(
+          fieldProperties != null && fieldProperties.length() > 0 ? fieldProperties : "{}");
       o.put("width", "50%");
+      if (field != null && field.getColumn() != null) {
+        final Long length = field.getColumn().getLength();
+        if (length != null) {
+          o.put("length", length);
+        }
+      }
       return o.toString();
     } catch (Exception e) { // ignore
       return fieldProperties;
diff --git a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/StringUIDefinition.java b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/StringUIDefinition.java
--- a/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/StringUIDefinition.java
+++ b/modules/org.openbravo.client.kernel/src/org/openbravo/client/kernel/reference/StringUIDefinition.java
@@ -18,6 +18,8 @@
  */
 package org.openbravo.client.kernel.reference;
 
+import org.codehaus.jettison.json.JSONObject;
+import org.openbravo.base.exception.OBException;
 import org.openbravo.model.ad.ui.Field;
 
 /**
@@ -58,4 +60,23 @@
     return getShowHoverGridFieldSettings(field) + (length != null ? ", length:" + length : "")
         + ", displaylength:" + displaylength + super.getGridFieldProperties(field);
   }
+
+  public String getFieldProperties(Field field) {
+    String fieldProperties = super.getFieldProperties(field);
+    if (field != null && field.getColumn() != null) {
+      final Long length = field.getColumn().getLength();
+      try {
+        if (length != null) {
+          JSONObject o = new JSONObject(
+              fieldProperties != null && fieldProperties.length() > 0 ? fieldProperties : "{}");
+          o.put("length", length);
+          return o.toString();
+        }
+      } catch (Exception e) { // ignore
+        throw new OBException(e);
+      }
+    }
+    return fieldProperties;
+  }
+
 }
