You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@click.apache.org by sa...@apache.org on 2010/06/21 17:17:26 UTC

svn commit: r956618 - in /click/trunk/click: extras/src/META-INF/resources/click/colorpicker/colorpicker.js extras/src/META-INF/resources/click/extras-control.js framework/src/META-INF/resources/click/control.js

Author: sabob
Date: Mon Jun 21 15:17:26 2010
New Revision: 956618

URL: http://svn.apache.org/viewvc?rev=956618&view=rev
Log:
fixed javascript validation to add/remove element class instead of style color. CLK-700

Modified:
    click/trunk/click/extras/src/META-INF/resources/click/colorpicker/colorpicker.js
    click/trunk/click/extras/src/META-INF/resources/click/extras-control.js
    click/trunk/click/framework/src/META-INF/resources/click/control.js

Modified: click/trunk/click/extras/src/META-INF/resources/click/colorpicker/colorpicker.js
URL: http://svn.apache.org/viewvc/click/trunk/click/extras/src/META-INF/resources/click/colorpicker/colorpicker.js?rev=956618&r1=956617&r2=956618&view=diff
==============================================================================
--- click/trunk/click/extras/src/META-INF/resources/click/colorpicker/colorpicker.js (original)
+++ click/trunk/click/extras/src/META-INF/resources/click/colorpicker/colorpicker.js Mon Jun 21 15:17:26 2010
@@ -54,15 +54,15 @@ function validateColorPicker(id, require
         var value = field.value;
         if(value.length == 0){
             if(required){
-                setFieldErrorColor(field);
+                Click.setFieldErrorClass(field);
                 return msgs[0];
             }
         } else if(!field.value.match(new RegExp("^#[a-fA-F0-9]{3}([a-fA-F0-9]{3})?$"))){
-            setFieldErrorColor(field);
+            Click.setFieldErrorClass(field);
             return msgs[1];
         }
 
-        setFieldValidColor(field);
+        Click.setFieldValidClass(field);
         return null;
 
     } else {

Modified: click/trunk/click/extras/src/META-INF/resources/click/extras-control.js
URL: http://svn.apache.org/viewvc/click/trunk/click/extras/src/META-INF/resources/click/extras-control.js?rev=956618&r1=956617&r2=956618&view=diff
==============================================================================
--- click/trunk/click/extras/src/META-INF/resources/click/extras-control.js (original)
+++ click/trunk/click/extras/src/META-INF/resources/click/extras-control.js Mon Jun 21 15:17:26 2010
@@ -50,7 +50,7 @@ function validateCreditCardField(id, typ
 			
 			var length = value.length;
 			if(length < 13){
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[3];
 			}
 			
@@ -75,13 +75,13 @@ function validateCreditCardField(id, typ
 			}
 			
 			if (!isValid) {
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[3];
 			}
 		}
 		
 		// no error
-		setFieldValidColor(field);
+		Click.setFieldValidClass(field);
 		return null;
 	}
 }
@@ -99,22 +99,22 @@ function validateEmailField (id, require
 			var index = value.indexOf("@");
 			
 			if (index < 1 || index == length - 1) {
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[3];
 			}
 	
 			if (!isLetterOrDigit(value.charAt(0))) {
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[3];
 			}
 	
 			if (!isLetterOrDigit(value.charAt(length - 1))) {
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[3];
 			}
 		}
 	}
-	setFieldValidColor(field);
+	Click.setFieldValidClass(field);
 	return null;
 }
 
@@ -124,20 +124,20 @@ function validateNumberField(id, require
 		var value = field.value;
 		if (value.length == 0) {
 			if(required){
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[0];
 			}
 		} else {
 			if (value > maxValue){
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[2];
 			} else if (value < minValue){
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[1];
 			}
 		}
 		
-		setFieldValidColor(field);
+		Click.setFieldValidClass(field);
 		return null;
 		
 	} else {
@@ -150,12 +150,12 @@ function validatePickList(id, required, 
 	if(field){
 		if (field.options.length == 0) {
 			if(required){
-				setFieldErrorColor(field);
+				Click.setFieldErrorClass(field);
 				return msgs[0];
 			}
 		}
 		
-		setFieldValidColor(field);
+		Click.setFieldValidClass(field);
 		return null;
 		
 	} else {
@@ -170,10 +170,10 @@ function validateRegexField(id, required
 	} else {
 		var field = document.getElementById(id);
 		if (field.value.length == 0 || field.value.match(new RegExp(regex))) {
-			setFieldValidColor(field);
+			Click.setFieldValidClass(field);
 			return null;
 		} else {
-			setFieldErrorColor(field);
+			Click.setFieldErrorClass(field);
 			return msgs[3];
 		}
 	}
@@ -259,12 +259,12 @@ function pickListMoveItem(from, to, valu
  *
  * @return false to prevent the link default action
  */
-Click.submitLinkAction = function(link, formName) {
+Click.submitLinkAction = function(link, formId) {
   var params=Click.getUrlParams(link.href);
   if (params == null) {
       return false;
   }
-  var form = document.getElementById(formName);
+  var form = document.getElementById(formId);
   if(form == null) {
       return false;
   }

Modified: click/trunk/click/framework/src/META-INF/resources/click/control.js
URL: http://svn.apache.org/viewvc/click/trunk/click/framework/src/META-INF/resources/click/control.js?rev=956618&r1=956617&r2=956618&view=diff
==============================================================================
--- click/trunk/click/framework/src/META-INF/resources/click/control.js (original)
+++ click/trunk/click/framework/src/META-INF/resources/click/control.js Mon Jun 21 15:17:26 2010
@@ -212,13 +212,39 @@ function trim(str) {
       return str;
 }
 
+Click.hasClass=function(element,cls){
+    var className=element.className;
+    if(className) {
+        return new RegExp('\\b'+cls+'\\b').test(className);
+    }
+    return false;
+}
+
+Click.addClass=function(element,cls){
+    if(!Click.hasClass(element,cls)) {
+        element.className += element.className ? ' ' + cls : cls;
+    }
+}
+
+Click.removeClass=function(element,cls){
+    var className=element.className;
+    if(!className) return;
+
+    if(className.indexOf(' ')<0) {
+        element.className='';
+        return;
+    }
+
+    var rep = new RegExp('(^|\\s)' + cls + '(?:\\s|$)');
+    element.className = className.replace(rep, '$1');
+}
 
-function setFieldValidColor(field) {
-    field.style.background = 'white';
+Click.setFieldValidClass=function(field) {
+    Click.removeClass(field,'error');
 }
 
-function setFieldErrorColor(field) {
-    field.style.background = '#FFFF80';
+Click.setFieldErrorClass=function(field) {
+    Click.addClass(field,'error');
 }
 
 function validateTextField(id, required, minLength, maxLength, msgs) {
@@ -227,23 +253,23 @@ function validateTextField(id, required,
         var value = trim(field.value);
         if (required) {
             if (value.length == 0) {
-                setFieldErrorColor(field);
+                Click.setFieldErrorClass(field);
                 return msgs[0];
             }
         }
         if (required && minLength > 0) {
             if (value.length < minLength) {
-                setFieldErrorColor(field);
+                Click.setFieldErrorClass(field);
                 return msgs[1];
             }
         }
         if (maxLength > 0) {
             if (value.length > maxLength) {
-                setFieldErrorColor(field);
+                Click.setFieldErrorClass(field);
                 return msgs[2];
             }
         }
-        setFieldValidColor(field);
+        Click.setFieldValidClass(field);
         return null;
     } else {
         return 'Field ' + id + ' not found.';
@@ -271,10 +297,10 @@ function validateSelect(id, defaultValue
         if (required) {
             var value = field.value;
             if (value != defaultValue) {
-                setFieldValidColor(field);
+                Click.setFieldValidClass(field);
                 return null;
             } else {
-                setFieldErrorColor(field);
+                Click.setFieldErrorClass(field);
                 return msgs[0];
             }
         }
@@ -304,7 +330,7 @@ function validateFileField(id, required,
         var value = trim(field.value);
         if (required) {
             if (value.length == 0) {
-                setFieldErrorColor(field);
+                Click.setFieldErrorClass(field);
                 return msgs[0];
             }
         }