[Registry-dev] svn commit r14732 - in trunk/registry/modules/webapps/src/main/webapp/admin: . js js/tinymce/jscripts/tiny_mce

svn at wso2.org svn at wso2.org
Wed Mar 12 02:49:09 PDT 2008


Author: chanaka
Date: Wed Mar 12 02:48:58 2008
New Revision: 14732

Log:

Resource adding validation implemented
-this will be applied to other parts of the UI as well.

Added:
   trunk/registry/modules/webapps/src/main/webapp/admin/js/tinymce/jscripts/tiny_mce/blank.htm
   trunk/registry/modules/webapps/src/main/webapp/admin/js/validation.js
Modified:
   trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
   trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js	(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js	Wed Mar 12 02:48:58 2008
@@ -530,19 +530,32 @@
 function submitResourceAddForm() {
 
     var rForm = document.forms["resourceupload"];
-
-    if (document.getElementById('contentURL').checked) {
-    	rForm.encoding = "application/x-www-form-urlencoded";
-        rForm.enctype = "application/x-www-form-urlencoded";
-        rForm.action = "/wso2registry/system/fetchResource";
-
-    } else if (document.getElementById('contentFile').checked) {
-    	rForm.encoding = "multipart/form-data";
-        rForm.enctype = "multipart/form-data";
-        rForm.action = "/wso2registry/system/addResource";
+    var resourceReason=document.getElementById("resourceReason");
+    /* Validate the form before submit */
+    var reason="";
+    if(!(rForm.upload.hasAttribute("disabled")))
+    	reason+=validateFilePath(rForm.upload,"File Path");
+    if(!(rForm.fetchURL.hasAttribute("disabled")))
+    	reason+=validateUrl(rForm.fetchURL,"Content URL");
+    reason+=validateIllegal(rForm.filename,"Name");
+    
+    if(reason!=""){
+    	resourceReason.style.display="block";
+    	resourceReason.innerHTML=reason;
+    }else{
+	    if (document.getElementById('contentURL').checked) {
+	    	rForm.encoding = "application/x-www-form-urlencoded";
+	        rForm.enctype = "application/x-www-form-urlencoded";
+	        rForm.action = "/wso2registry/system/fetchResource";
+	
+	    } else if (document.getElementById('contentFile').checked) {
+	    	rForm.encoding = "multipart/form-data";
+	        rForm.enctype = "multipart/form-data";
+	        rForm.action = "/wso2registry/system/addResource";
+	    }
+	    showHide('add-resource-div');
+	    rForm.submit();
     }
-
-    rForm.submit();
 }
 function doGreeting(){
     datetoday = new Date();

Added: trunk/registry/modules/webapps/src/main/webapp/admin/js/tinymce/jscripts/tiny_mce/blank.htm
==============================================================================
--- (empty file)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/tinymce/jscripts/tiny_mce/blank.htm	Wed Mar 12 02:48:58 2008
@@ -0,0 +1,9 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+	<title>blank_page</title>
+	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
+</head>
+<body class="mceContentBody">
+
+</body>
+</html>

Added: trunk/registry/modules/webapps/src/main/webapp/admin/js/validation.js
==============================================================================
--- (empty file)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/validation.js	Wed Mar 12 02:48:58 2008
@@ -0,0 +1,126 @@
+function validateEmpty(fld) {
+    var error = "";
+ 
+    if (fld.value.length == 0) {
+        fld.style.background = 'Yellow'; 
+        error = "The required field has not been filled in.<br />"
+    } else {
+        fld.style.background = 'White';
+    }
+    return error;  
+}
+
+function validateUrl(fld,fldName) {
+	var error = "";
+	var regx = RegExp("(http|https|ftp|file)://.*");
+	if(fld.value==""){
+		fld.style.background = 'Yellow';
+        	error = "You didn't enter a "+fldName+".<br />";
+	}
+	else if(!(fld.value.match(regx))){
+		error = "The "+fldName+" is not a valid URL.<br />";
+        	fld.style.background = 'Yellow';
+        	alert('error');
+	}
+	
+	
+	return error;
+}
+function validateFilePath(fld,fldName) {
+
+	var error = "";
+	var regx = RegExp("[a-zA-Z]:\\.*");
+	if(fld.value==""){
+		fld.style.background = 'Yellow';
+        	error = "You didn't enter a "+fldName+".<br />";
+	}
+	else if(!fld.value.match(regx)){
+		error = "The "+fldName+" is not a valid URL.<br />";
+        	fld.style.background = 'Yellow';
+        	alert('error');
+	}
+	
+	
+	return error;
+
+}
+function validateIllegal(fld,fldName){
+    var error = "";
+    var illegalChars = /([^a-zA-Z0-9_\-\x2E\&\?\\\:])/; // allow only letters and numbers - _and period
+    
+    if (fld.value == "") {
+        fld.style.background = 'Yellow';
+        error = "You didn't enter a "+fldName+".<br />";
+    } else if (illegalChars.test(fld.value)) {
+        error = "The "+fldName+" contains illegal characters.<br />";
+        fld.style.background = 'Yellow';
+    } else {
+        //fld.style.background = 'White';
+    }
+   return error;
+}
+function validateUsername(fld) {
+    var error = "";
+    var illegalChars = /\W/; // allow letters, numbers, and underscores
+ 
+    if (fld.value == "") {
+        fld.style.background = 'Yellow'; 
+        error = "You didn't enter a username.<br />";
+    } else if ((fld.value.length < 5) || (fld.value.length > 15)) {
+        fld.style.background = 'Yellow'; 
+        error = "The username is the wrong length.<br />";
+    } else if (illegalChars.test(fld.value)) {
+        fld.style.background = 'Yellow'; 
+        error = "The username contains illegal characters.<br />";
+    } else {
+        fld.style.background = 'White';
+    }
+    return error;
+}
+function validatePassword(fld) {
+    var error = "";
+    var illegalChars = /[\W_]/; // allow only letters and numbers 
+ 
+    if (fld.value == "") {
+        fld.style.background = 'Yellow';
+        error = "You didn't enter a password.<br />";
+    } else if ((fld.value.length < 7) || (fld.value.length > 15)) {
+        error = "The password is the wrong length. <br />";
+        fld.style.background = 'Yellow';
+    } else if (illegalChars.test(fld.value)) {
+        error = "The password contains illegal characters.<br />";
+        fld.style.background = 'Yellow';
+    } else if (!((fld.value.search(/(a-z)+/)) && (fld.value.search(/(0-9)+/)))) {
+        error = "The password must contain at least one numeral.<br />";
+        fld.style.background = 'Yellow';
+    } else {
+        fld.style.background = 'White';
+    }
+   return error;
+}
+
+function trim(s)
+{
+  return s.replace(/^\s+|\s+$/, '');
+}
+
+function validateEmail(fld) {
+    var error="";
+    var tfld = trim(fld.value);                        // value of field with whitespace trimmed off
+    var emailFilter = /^[^@]+@[^@.]+\.[^@]*\w\w$/ ;
+    var illegalChars= /[\(\)\<\>\,\;\:\\\"\[\]]/ ;
+   
+    if (fld.value == "") {
+        fld.style.background = 'Yellow';
+        error = "You didn't enter an email address.<br />";
+    } else if (!emailFilter.test(tfld)) {              //test email for illegal characters
+        fld.style.background = 'Yellow';
+        error = "Please enter a valid email address.<br />";
+    } else if (fld.value.match(illegalChars)) {
+        fld.style.background = 'Yellow';
+        error = "The email address contains illegal characters.<br />";
+    } else {
+        fld.style.background = 'White';
+    }
+    return error;
+}
\ No newline at end of file

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp	(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp	Wed Mar 12 02:48:58 2008
@@ -27,8 +27,10 @@
 <html>
 <head>
     <script language="javascript" type="text/javascript" src="/wso2registry/admin/js/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
+    <script language="JavaScript" type="text/JavaScript" src="/wso2registry/admin/js/validation.js"></script>
     <script language="JavaScript" type="text/JavaScript" src="/wso2registry/admin/js/common.js"></script>
     <script language="JavaScript" type="text/JavaScript" src="/wso2registry/admin/js/prototype.js"></script>
+    
 
     <!-- tinyMCE -->
     <script language="javascript" type="text/javascript">
@@ -336,6 +338,7 @@
 
         <input type="hidden" name="path" value="<%=details.getPath()%>"/>
         <h3>Add Resource</h3>
+        <div class="validationError" id="resourceReason" style="display:none;"></div>
         <table width="100%"  border="0" cellspacing="0" cellpadding="0">
             <tr>
                 <td valign="top"><input id="contentFile" type="radio" name="contentMethod" value="file" checked="checked" onclick="resourceFrom('file')" /><span id="contentFileText">Import content from file</span></td>
@@ -370,7 +373,7 @@
             </tr>
             <tr>
                 <td>&nbsp;</td>
-                <td><input type="button" class="button" value="Add" style="margin-top:10px;" onclick="submitResourceAddForm();showHide('add-resource-div')"/> <input type="button" class="button" value="Cancel" style="margin-top:10px;" onclick="showHide('add-resource-div')"/></td>
+                <td><input type="button" class="button" value="Add" style="margin-top:10px;" onclick="submitResourceAddForm();"/> <input type="button" class="button" value="Cancel" style="margin-top:10px;" onclick="showHide('add-resource-div')"/></td>
             </tr>
         </table>
     </form>



More information about the Registry-dev mailing list