[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> </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