The only validation that I am trying to do right now is what comes with
struts (required, date etc).  Would it help to post that?  Would other
JavaScript else where on the page cause a problem?  Below is the source for
the page.

Rich

---------------------------------------Page Source
start-----------------------------------











<?xml version="1.0" encoding="windows-1252"?>

<!DOCTYPE html PUBLIC
  "-//W3C//DTD XHTML 1.0 Transitional//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>




<html>
  <head>
    <title>ClaimZone Enterprise Edition - Diary Adjuster List</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <base href="http://localhost:8080/czee_beta/pages/diaryAddEdit.jsp";>
    <link href="default.css" rel="stylesheet" type="text/css">
  </head>
  <body leftmargin="0" topmargin="0">
    <table class="tableWidth760">
      <tr>
        <td height="77" colspan="2">


<table class="tableWidth760">
  <tr>
    <td>
      <table class="tableWidth760">
        <tr>
          <td width="50%" class="headerTextLt">ClaimZone enterprise
edition</td>
          <td width="50%" class="headerTextRt">[CZEE]</td>
        </tr>
      </table>
    </td>
  </tr>
  <tr>
    <td>
      <hr size="1" noshade>
    </td>
  </tr>
  <tr>
    <td class="headerNavigationRt">
      <a class="allLinks" href="../diaryAdjusterAction.do">DIARY LIST</a>
      | <a class="allLinks" href="claimSearch.jsp">SEARCH CLAIMS</a>
      &nbsp;&nbsp;
      &nbsp;&nbsp;
      &nbsp;&nbsp;
      &nbsp;&nbsp;
      &nbsp;&nbsp;
      &nbsp;&nbsp;
      <a class="allLinks" href="home.jsp">home</a>
      | <a class="allLinks" href="help.jsp">help</a>
      | <a class="allLinks" href="login.jsp">logout</a>
    </td>
  </tr>
</table>

        </td>
      </tr>
      <tr>
        <td width="178" valign="top">




<table>
  <tr>
    <td width="157" class="diaryCalendarPlacement">
    <a href="/czee_beta/diaryAdd.do" class="allLinks">Create New
Diary</a><br/><br/>
        <select name="ThisIsARichDiaryMonthSelector" class="formComboBox"
onChange="window.location='/czee_beta//diaryAdjusterAction.do?monthYear='+th
is.options[this.selectedIndex].value" >
    <option  value="12/2002" >December 2002</option>
    <option  value="01/2003" >January 2003</option>
    <option  value="02/2003" >February 2003</option>
    <option  value="03/2003" >March 2003</option>
    <option  value="04/2003" >April 2003</option>
    <option  value="05/2003" >May 2003</option>
    <option selected value="06/2003" >June 2003</option>
    <option  value="07/2003" >July 2003</option>
    <option  value="08/2003" >August 2003</option>
    <option  value="09/2003" >September 2003</option>
    <option  value="10/2003" >October 2003</option>
    <option  value="11/2003" >November 2003</option>
  </select><br/>
<table class="diaryBorder" >
  <tr>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >Su</span></td>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >Mo</span></td>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >Tu</span></td>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >We</span></td>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >Th</span></td>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >Fr</span></td>
      <td width="null" class="diaryCalendarBkgd_DaysOfWeek"><span
class="diaryCalendarText_DaysOfWeek" >Sa</span></td>
  </tr>
  <tr>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">1</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/01/2003&toDate=06/02/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">2</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/02/2003&toDate=06/03/2003null"
class="allLinks">24</a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">3</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/03/2003&toDate=06/04/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">4</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/04/2003&toDate=06/05/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">5</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/05/2003&toDate=06/06/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Today"><span
class="diaryCalendarText_ThisMonth">6</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/06/2003&toDate=06/07/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">7</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/07/2003&toDate=06/08/2003null"
class="allLinks"></a></td>
  </tr>
  <tr>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">8</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/08/2003&toDate=06/09/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">9</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/09/2003&toDate=06/10/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">10</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/10/2003&toDate=06/11/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">11</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/11/2003&toDate=06/12/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">12</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/12/2003&toDate=06/13/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">13</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/13/2003&toDate=06/14/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">14</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/14/2003&toDate=06/15/2003null"
class="allLinks"></a></td>
  </tr>
  <tr>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">15</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/15/2003&toDate=06/16/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">16</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/16/2003&toDate=06/17/2003null"
class="allLinks">1</a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">17</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/17/2003&toDate=06/18/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">18</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/18/2003&toDate=06/19/2003null"
class="allLinks">1</a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">19</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/19/2003&toDate=06/20/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">20</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/20/2003&toDate=06/21/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">21</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/21/2003&toDate=06/22/2003null"
class="allLinks"></a></td>
  </tr>
  <tr>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">22</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/22/2003&toDate=06/23/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">23</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/23/2003&toDate=06/24/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">24</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/24/2003&toDate=06/25/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">25</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/25/2003&toDate=06/26/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">26</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/26/2003&toDate=06/27/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">27</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/27/2003&toDate=06/28/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">28</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/28/2003&toDate=06/29/2003null"
class="allLinks"></a></td>
  </tr>
  <tr>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_ThisMonth">29</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/29/2003&toDate=06/30/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_ThisMonth">30</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=06/30/2003&toDate=07/01/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">1</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/01/2003&toDate=07/02/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">2</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/02/2003&toDate=07/03/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">3</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/03/2003&toDate=07/04/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">4</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/04/2003&toDate=07/05/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_NotThisMonth">5</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/05/2003&toDate=07/06/2003null"
class="allLinks"></a></td>
  </tr>
  <tr>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_NotThisMonth">6</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/06/2003&toDate=07/07/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">7</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/07/2003&toDate=07/08/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">8</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/08/2003&toDate=07/09/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">9</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/09/2003&toDate=07/10/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">10</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/10/2003&toDate=07/11/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Workdays"><span
class="diaryCalendarText_NotThisMonth">11</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/11/2003&toDate=07/12/2003null"
class="allLinks"></a></td>
      <td class="diaryCalendarBkgd_Weekend"><span
class="diaryCalendarText_NotThisMonth">12</span><br />&nbsp;<a
href="/czee_beta/diarySearch.do?fromDate=07/12/2003&toDate=07/13/2003null"
class="allLinks"></a></td>
  </tr>
</table>

      <br/>
      <form name="diarySearchForm" method="post"
action="/czee_beta/diarySearch.do">
        <table width="157" border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td class="diarySideText">Diary Search<br/> <br/>
              <script language="JavaScript" src="dt_select.js" >
              </script>
              From Date<br/>
              <input type="null" name="fromDate" value=""
class="formTextField80"><a
href="javascript:show_calendar('document.diarySearchForm.fromDate',
document.diarySearchForm.fromDate.value,'false','/czee_beta');"><img
src="images/calendar.gif" height="16" width="16" border="0"></a>
              <br/>
              To Date<br/>
              <input type="null" name="toDate" value=""
class="formTextField80"><a
href="javascript:show_calendar('document.diarySearchForm.toDate',
document.diarySearchForm.toDate.value,'false','/czee_beta');"><img
src="images/calendar.gif" height="16" width="16" border="0"></a>
              <br/>
              Priority (1-9)<br/>
              <input type="text" name="priorityCode" value=""
class="formTextField120">
              <br/>
              Code<br/>
              <input type="text" name="diaryCode" value=""
class="formTextField120"> <br/>
              <select name="codeDesc" class="formComboBox">
                <option>description</option>
                <option></option>
                <option></option>
                <option></option>
              </select> <br/> <br/> <input type="submit" value="Search"
class="formSubmit">
            </td>
          </tr>
        </table>
      </form>
<script type="text/javascript" language="JavaScript">
  <!--
  var focusControl = document.forms["diarySearchForm"].elements["fromDate"];

  if (focusControl.type != "hidden") {
     focusControl.focus();
  }
  // -->
</script>

    </td>
  </tr>
</table>
        </td>
        <td width="582" valign="top" class="mainPageName">


    <form name="diaryForm" method="post" action="/czee_beta/diaryEdit.do"
onsubmit="return validateDiaryForm(this);">
    <script language="JavaScript" src="dt_select.js" >
    </script>
       <table border="0" cellspacing="5">
       <font size="1">&nbsp;</font>
        <tr>
          <td colspan="4" class="diaryMainTodayHeader">



                Create New Diary


           </td>
        </tr>
        <tr>
          <br/>
          <td class="mainTextLt" colspan="4">
            Description<br />
            <textarea name="diaryDesc" class="formTextArea570">Severely
waterlogged while on duty.</textarea>
          </td>
        </tr>
        <tr>
          <input type="hidden" name="diaryId" value="206">
          <td class="mainTextLt">
            Adjuster ID<br />
            <input type="text" name="remindUserId" maxlength="10"
value="adj" class="formTextField120">
            <a href="#"><img src="images/magnify.gif" height="16" width="16"
border="0"></a>
          </td>
          <td class="mainTextLt">
            Diary Code<br />
            <input type="text" name="diaryCode" maxlength="15" value=""
class="formTextField80">
          </td>
          <td class="mainTextLt">
            Priority<br />
            <input type="text" name="priorityCode" maxlength="1" value="0"
class="formTextField80">
          </td>
        </tr>
        <tr>
          <td class="mainTextLt">
            <!-- 2 hidden fields, and the link to the claimID -->
            <input type="hidden" name="ownerType" value="CLM">
            Owner ID<br />
            <input type="text" name="ownerId" value="4222"
class="formTextField120">
            <a href="#"><img src="images/link.gif" height="16" width="16"
border="0"></a>
          </td>
          <td class="mainTextLt">
            Zoom Type<br />
            <input type="text" name="zoomType" maxlength="3" value=""
class="formTextField120">
          </td>
          <td class="mainTextLt">
            Zoom ID<br />
            <input type="text" name="zoomId" value="0" readonly="readonly"
class="formTextField120">
          </td>
        </tr>
        <tr>
          <td class="mainTextLt">
            Reminder Date<br />
              <input type="null" name="reminderDate" value="05/30/2003"
class="formTextField120"><a
href="javascript:show_calendar('document.diaryForm.reminderDate',
document.diaryForm.reminderDate.value,'true','/czee_beta');"><img
src="images/calendar.gif" height="16" width="16" border="0"></a>
              <input type="hidden" name="reminderTime" value=""
class="formTextField120">
          </td>
          <td class="mainTextLt">
            Completed Date<br />
              <input type="null" name="completedDate" value=""
class="formTextField80"><a
href="javascript:show_calendar('document.diaryForm.completedDate',
document.diaryForm.completedDate.value,'false','/czee_beta');"><img
src="images/calendar.gif" height="16" width="16" border="0"></a>
          </td>
          <td class="mainTextLt">&nbsp;</td>
        </tr>
        <tr>
          <td colspan="4" class="diaryMainTodayHeader">
            <input type="submit" value="Save" class="formSubmit">
              &nbsp;&nbsp;
            <input type="submit" name="org.apache.struts.taglib.html.CANCEL"
value="Cancel" onclick="bCancel=true;" class="formSubmit">
          </td>
        </tr>
      </table>

        <table><tr><td class="errorheader">Validation Errors</td></tr>

            <tr><td class="errorlabel">
              Priority is not in the range 1 through 9.<br />
            </td></tr>

        </table>

      </form>
<script type="text/javascript" language="JavaScript">
  <!--
  var focusControl = document.forms["diaryForm"].elements["remindUserId"];

  if (focusControl.type != "hidden") {
     focusControl.focus();
  }
  // -->
</script>


      <script type="text/javascript" language="Javascript1.1">

<!-- Begin

     var bCancel = false;

    function validateDiaryForm(form) {
        if (bCancel)
      return true;
        else
       return validateMaxLength(form) && validateRequired(form) &&
validateDate(form) && validateInteger(form) && validateMinLength(form) &&
validateIntRange(form);
   }

    function maxlength () {
     this.aa = new Array("diaryCode", "Diary Code can not be greater than
null characters.", new Function ("varName", "this.maxlength='15';  return
this[varName];"));
     this.ab = new Array("remindUserId", "Adjuster ID can not be greater
than null characters.", new Function ("varName", "this.maxlength='10';
return this[varName];"));
     this.ac = new Array("reminderTime", "Reminder Time can not be greater
than null characters.", new Function ("varName", "this.maxlength='8';
return this[varName];"));
     this.ad = new Array("zoomType", "Zoom Type can not be greater than null
characters.", new Function ("varName", "this.fieldTest[0]='NOTNULL';
this.maxlength='3'; this.field[0]='zoomId'; this.minlength='3';  return
this[varName];"));
     this.ae = new Array("diaryDesc", "Description can not be greater than
255 characters.", new Function ("varName", "this.maxlength='255';  return
this[varName];"));
    }

    function required () {
     this.aa = new Array("ownerId", "Owner ID is required.", new Function
("varName", " return this[varName];"));
     this.ab = new Array("remindUserId", "Adjuster ID is required.", new
Function ("varName", "this.maxlength='10';  return this[varName];"));
     this.ac = new Array("reminderDate", "Reminder Date is required.", new
Function ("varName", " return this[varName];"));
     this.ad = new Array("priorityCode", "Priority is required.", new
Function ("varName", "this.min='1'; this.max='9';  return this[varName];"));
    }

    function DateValidations () {
     this.aa = new Array("reminderDate", "Reminder Date is not a date.", new
Function ("varName", " return this[varName];"));
     this.ab = new Array("completedDate", "Completed Date is not a date.",
new Function ("varName", " return this[varName];"));
    }

    function IntegerValidations () {
     this.aa = new Array("priorityCode", "Priority must be an integer.", new
Function ("varName", "this.min='1'; this.max='9';  return this[varName];"));
    }

    function minlength () {
     this.aa = new Array("zoomType", "Zoom Type can not be less than 3
characters.", new Function ("varName", "this.fieldTest[0]='NOTNULL';
this.maxlength='3'; this.field[0]='zoomId'; this.minlength='3';  return
this[varName];"));
    }

    function range () {
     this.aa = new Array("priorityCode", "Priority is not in the range 1
through 9.", new Function ("varName", "this.min='1'; this.max='9';  return
this[varName];"));
    }



function validateFloatRange(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oRange = new floatRange();
                for (x in oRange) {
                    if ((form[oRange[x][0]].type == 'text' ||
                         form[oRange[x][0]].type == 'textarea') &&
                        (form[oRange[x][0]].value.length > 0)) {
                        var fMin = parseFloat(oRange[x][2]("min"));
                        var fMax = parseFloat(oRange[x][2]("max"));
                        var fValue = parseFloat(form[oRange[x][0]].value);
                        if (!(fValue >= fMin && fValue <= fMax)) {
                            if (i == 0) {
                                focusField = form[oRange[x][0]];
                            }
                            fields[i++] = oRange[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                    focusField.focus();
                    alert(fields.join('\n'));
                }
                return bValid;
            }
function validateByte(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oByte = new ByteValidations();
                for (x in oByte) {
                        var field = form[oByte[x][0]];

                    if (field.type == 'text' ||
                        field.type == 'textarea' ||
                        field.type == 'select-one' ||
                                                field.type == 'radio') {

                                                var value = '';
                                                // get field's value
                                                if (field.type == "select-one") {
                                                        var si = field.selectedIndex;
                                                        if (si >= 0) {
                                                                value = 
field.options[si].value;
                                                        }
                                                } else {
                                                        value = field.value;
                                                }

                        if (value.length > 0) {

                                var iValue = parseInt(value);
                                if (isNaN(iValue) || !(iValue >= -128 && iValue <=
127)) {
                                    if (i == 0) {
                                        focusField = field;
                                    }
                                    fields[i++] = oByte[x][1];
                                    bValid = false;
                                }
                                                }

                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }
function validateMaxLength(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oMaxLength = new maxlength();
                for (x in oMaxLength) {
                    if (form[oMaxLength[x][0]].type == 'text' ||
                        form[oMaxLength[x][0]].type == 'textarea') {
                        var iMax = parseInt(oMaxLength[x][2]("maxlength"));
                        if (form[oMaxLength[x][0]].value.length > iMax) {
                            if (i == 0) {
                                focusField = form[oMaxLength[x][0]];
                            }
                            fields[i++] = oMaxLength[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }
function validateRequired(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oRequired = new required();
                for (x in oRequired) {
                        var field = form[oRequired[x][0]];

                    if (field.type == 'text' ||
                        field.type == 'textarea' ||
                        field.type == 'file' ||
                        field.type == 'select-one' ||
                        field.type == 'radio' ||
                        field.type == 'password') {

                        var value = '';
                                                // get field's value
                                                if (field.type == "select-one") {
                                                        var si = field.selectedIndex;
                                                        if (si >= 0) {
                                                                value = 
field.options[si].value;
                                                        }
                                                } else {
                                                        value = field.value;
                                                }

                        if (value == '') {

                                if (i == 0) {
                                    focusField = field;
                                }
                                fields[i++] = oRequired[x][1];
                                bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }
function validateInteger(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oInteger = new IntegerValidations();
                for (x in oInteger) {
                        var field = form[oInteger[x][0]];

                    if (field.type == 'text' ||
                        field.type == 'textarea' ||
                        field.type == 'select-one' ||
                        field.type == 'radio') {

                        var value = '';
                                                // get field's value
                                                if (field.type == "select-one") {
                                                        var si = field.selectedIndex;
                                                    if (si >= 0) {
                                                            value = 
field.options[si].value;
                                                    }
                                                } else {
                                                        value = field.value;
                                                }

                        if (value.length > 0) {

                            if (!isAllDigits(value)) {
                                bValid = false;
                            } else {
                                    var iValue = parseInt(value);
                                    if (isNaN(iValue) || !(iValue >= -2147483648 &&
iValue <= 2147483647)) {
                                        if (i == 0) {
                                            focusField = field;
                                        }
                                        fields[i++] = oInteger[x][1];
                                        bValid = false;
                                   }
                           }
                       }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }

            function isAllDigits(argvalue) {
                argvalue = argvalue.toString();
                var validChars = "0123456789";
                var startFrom = 0;
                if (argvalue.substring(0, 2) == "0x") {
                   validChars = "0123456789abcdefABCDEF";
                   startFrom = 2;
                } else if (argvalue.charAt(0) == "0") {
                   validChars = "01234567";
                   startFrom = 1;
                }
                for (var n = 0; n < argvalue.length; n++) {
                    if (validChars.indexOf(argvalue.substring(n, n+1))
== -1) return false;
                }
                return true;
            }
function validateRange(form) {
                return validateIntRange(form);
            }
function validateDate(form) {
               var bValid = true;
               var focusField = null;
               var i = 0;
               var fields = new Array();
               oDate = new DateValidations();
               for (x in oDate) {
                   var value = form[oDate[x][0]].value;
                   var datePattern = oDate[x][2]("datePatternStrict");
                   if ((form[oDate[x][0]].type == 'text' ||
                        form[oDate[x][0]].type == 'textarea') &&
                       (value.length > 0) &&
                       (datePattern.length > 0)) {
                     var MONTH = "MM";
                     var DAY = "dd";
                     var YEAR = "yyyy";
                     var orderMonth = datePattern.indexOf(MONTH);
                     var orderDay = datePattern.indexOf(DAY);
                     var orderYear = datePattern.indexOf(YEAR);
                     if ((orderDay < orderYear && orderDay > orderMonth)) {
                         var iDelim1 = orderMonth + MONTH.length;
                         var iDelim2 = orderDay + DAY.length;
                         var delim1 = datePattern.substring(iDelim1, iDelim1
+ 1);
                         var delim2 = datePattern.substring(iDelim2, iDelim2
+ 1);
                         if (iDelim1 == orderDay && iDelim2 == orderYear) {
                            dateRegexp = new
RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
                         } else if (iDelim1 == orderDay) {
                            dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" +
delim2 + "](\\d{4})$");
                         } else if (iDelim2 == orderYear) {
                            dateRegexp = new RegExp("^(\\d{2})[" + delim1 +
"](\\d{2})(\\d{4})$");
                         } else {
                            dateRegexp = new RegExp("^(\\d{2})[" + delim1 +
"](\\d{2})[" + delim2 + "](\\d{4})$");
                         }
                         var matched = dateRegexp.exec(value);
                         if(matched != null) {
                            if (!isValidDate(matched[2], matched[1],
matched[3])) {
                               if (i == 0) {
                                   focusField = form[oDate[x][0]];
                               }
                               fields[i++] = oDate[x][1];
                               bValid =  false;
                            }
                         } else {
                            if (i == 0) {
                                focusField = form[oDate[x][0]];
                            }
                            fields[i++] = oDate[x][1];
                            bValid =  false;
                         }
                     } else if ((orderMonth < orderYear && orderMonth >
orderDay)) {
                         var iDelim1 = orderDay + DAY.length;
                         var iDelim2 = orderMonth + MONTH.length;
                         var delim1 = datePattern.substring(iDelim1, iDelim1
+ 1);
                         var delim2 = datePattern.substring(iDelim2, iDelim2
+ 1);
                         if (iDelim1 == orderMonth && iDelim2 == orderYear)
{
                             dateRegexp = new
RegExp("^(\\d{2})(\\d{2})(\\d{4})$");
                         } else if (iDelim1 == orderMonth) {
                             dateRegexp = new RegExp("^(\\d{2})(\\d{2})[" +
delim2 + "](\\d{4})$");
                         } else if (iDelim2 == orderYear) {
                             dateRegexp = new RegExp("^(\\d{2})[" + delim1 +
"](\\d{2})(\\d{4})$");
                         } else {
                             dateRegexp = new RegExp("^(\\d{2})[" + delim1 +
"](\\d{2})[" + delim2 + "](\\d{4})$");
                         }
                         var matched = dateRegexp.exec(value);
                         if(matched != null) {
                             if (!isValidDate(matched[1], matched[2],
matched[3])) {
                                 if (i == 0) {
                                     focusField = form[oDate[x][0]];
                                 }
                                 fields[i++] = oDate[x][1];
                                 bValid =  false;
                              }
                         } else {
                             if (i == 0) {
                                 focusField = form[oDate[x][0]];
                             }
                             fields[i++] = oDate[x][1];
                             bValid =  false;
                         }
                     } else if ((orderMonth > orderYear && orderMonth <
orderDay)) {
                         var iDelim1 = orderYear + YEAR.length;
                         var iDelim2 = orderMonth + MONTH.length;
                         var delim1 = datePattern.substring(iDelim1, iDelim1
+ 1);
                         var delim2 = datePattern.substring(iDelim2, iDelim2
+ 1);
                         if (iDelim1 == orderMonth && iDelim2 == orderDay) {
                             dateRegexp = new
RegExp("^(\\d{4})(\\d{2})(\\d{2})$");
                         } else if (iDelim1 == orderMonth) {
                             dateRegexp = new RegExp("^(\\d{4})(\\d{2})[" +
delim2 + "](\\d{2})$");
                         } else if (iDelim2 == orderDay) {
                             dateRegexp = new RegExp("^(\\d{4})[" + delim1 +
"](\\d{2})(\\d{2})$");
                         } else {
                             dateRegexp = new RegExp("^(\\d{4})[" + delim1 +
"](\\d{2})[" + delim2 + "](\\d{2})$");
                         }
                         var matched = dateRegexp.exec(value);
                         if(matched != null) {
                             if (!isValidDate(matched[3], matched[2],
matched[1])) {
                                 if (i == 0) {
                                     focusField = form[oDate[x][0]];
                                  }
                                  fields[i++] = oDate[x][1];
                                  bValid =  false;
                              }
                          } else {
                              if (i == 0) {
                                  focusField = form[oDate[x][0]];
                              }
                              fields[i++] = oDate[x][1];
                              bValid =  false;
                          }
                     } else {
                         if (i == 0) {
                             focusField = form[oDate[x][0]];
                         }
                         fields[i++] = oDate[x][1];
                         bValid =  false;
                     }
                  }
               }
               if (fields.length > 0) {
                  focusField.focus();
                  alert(fields.join('\n'));
               }
               return bValid;
            }

            function isValidDate(day, month, year) {
                if (month < 1 || month > 12) {
                    return false;
                }
                if (day < 1 || day > 31) {
                    return false;
                }
                if ((month == 4 || month == 6 || month == 9 || month == 11)
&&
                    (day == 31)) {
                    return false;
                }
                if (month == 2) {
                    var leap = (year % 4 == 0 &&
                               (year % 100 != 0 || year % 400 == 0));
                    if (day>29 || (day == 29 && !leap)) {
                        return false;
                    }
                }
                return true;
            }
function validateCreditCard(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oCreditCard = new creditCard();
                for (x in oCreditCard) {
                    if ((form[oCreditCard[x][0]].type == 'text' ||
                         form[oCreditCard[x][0]].type == 'textarea') &&
                        (form[oCreditCard[x][0]].value.length > 0)) {
                        if (!luhnCheck(form[oCreditCard[x][0]].value)) {
                            if (i == 0) {
                                focusField = form[oCreditCard[x][0]];
                            }
                            fields[i++] = oCreditCard[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                    focusField.focus();
                    alert(fields.join('\n'));
                }
                return bValid;
            }

            /**
             * Reference: http://www.ling.nwu.edu/~sburke/pub/luhn_lib.pl
             */
            function luhnCheck(cardNumber) {
                if (isLuhnNum(cardNumber)) {
                    var no_digit = cardNumber.length;
                    var oddoeven = no_digit & 1;
                    var sum = 0;
                    for (var count = 0; count < no_digit; count++) {
                        var digit = parseInt(cardNumber.charAt(count));
                        if (!((count & 1) ^ oddoeven)) {
                            digit *= 2;
                            if (digit > 9) digit -= 9;
                        };
                        sum += digit;
                    };
                    if (sum == 0) return false;
                    if (sum % 10 == 0) return true;
                };
                return false;
            }

            function isLuhnNum(argvalue) {
                argvalue = argvalue.toString();
                if (argvalue.length == 0) {
                    return false;
                }
                for (var n = 0; n < argvalue.length; n++) {
                    if ((argvalue.substring(n, n+1) < "0") ||
                        (argvalue.substring(n,n+1) > "9")) {
                        return false;
                    }
                }
                return true;
            }
function validateIntRange(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oRange = new intRange();
                for (x in oRange) {
                    if ((form[oRange[x][0]].type == 'text' ||
                         form[oRange[x][0]].type == 'textarea') &&
                        (form[oRange[x][0]].value.length > 0)) {
                        var iMin = parseInt(oRange[x][2]("min"));
                        var iMax = parseInt(oRange[x][2]("max"));
                        var iValue = parseInt(form[oRange[x][0]].value);
                        if (!(iValue >= iMin && iValue <= iMax)) {
                            if (i == 0) {
                                focusField = form[oRange[x][0]];
                            }
                            fields[i++] = oRange[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                    focusField.focus();
                    alert(fields.join('\n'));
                }
                return bValid;
            }
function validateShort(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oShort = new ShortValidations();
                for (x in oShort) {
                        var field = form[oShort[x][0]];

                    if (field.type == 'text' ||
                        field.type == 'textarea' ||
                        field.type == 'select-one' ||
                        field.type == 'radio') {

                        var value = '';
                                                // get field's value
                                                if (field.type == "select-one") {
                                                        var si = field.selectedIndex;
                                                        if (si >= 0) {
                                                                value = 
field.options[si].value;
                                                        }
                                                } else {
                                                        value = field.value;
                                                }

                        if (value.length > 0) {

                                var iValue = parseInt(value);
                                if (isNaN(iValue) || !(iValue >= -32768 && iValue
<= 32767)) {
                                    if (i == 0) {
                                        focusField = field;
                                    }
                                    fields[i++] = oShort[x][1];
                                    bValid = false;
                               }
                       }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }
function validateFloat(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oFloat = new FloatValidations();
                for (x in oFloat) {
                        var field = form[oFloat[x][0]];

                    if (field.type == 'text' ||
                        field.type == 'textarea' ||
                        field.type == 'select-one' ||
                        field.type == 'radio') {

                        var value = '';
                                                // get field's value
                                                if (field.type == "select-one") {
                                                        var si = field.selectedIndex;
                                                        if (si >= 0) {
                                                            value = 
field.options[si].value;
                                                        }
                                                } else {
                                                        value = field.value;
                                                }

                        if (value.length > 0) {

                                var iValue = parseFloat(value);
                                if (isNaN(iValue)) {
                                    if (i == 0) {
                                        focusField = field;
                                    }
                                    fields[i++] = oFloat[x][1];
                                    bValid = false;
                                }
                        }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }
function validateEmail(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oEmail = new email();
                for (x in oEmail) {
                    if ((form[oEmail[x][0]].type == 'text' ||
                         form[oEmail[x][0]].type == 'textarea') &&
                        (form[oEmail[x][0]].value.length > 0)) {
                        if (!checkEmail(form[oEmail[x][0]].value)) {
                            if (i == 0) {
                                focusField = form[oEmail[x][0]];
                            }
                            fields[i++] = oEmail[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                    focusField.focus();
                    alert(fields.join('\n'));
                }
                return bValid;
            }

            /**
             * Reference: Sandeep V. Tamhankar ([EMAIL PROTECTED]),
             * http://javascript.internet.com
             */
            function checkEmail(emailStr) {
               if (emailStr.length == 0) {
                   return true;
               }
               var emailPat=/^(.+)@(.+)$/;
               var specialChars="\\(\\)<>@,;:\\\\\\\"\\.\\[\\]";
               var validChars="\[^\\s" + specialChars + "\]";
               var quotedUser="(\"[^\"]*\")";
               var
ipDomainPat=/^(\d{1,3})[.](\d{1,3})[.](\d{1,3})[.](\d{1,3})$/;
               var atom=validChars + '+';
               var word="(" + atom + "|" + quotedUser + ")";
               var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
               var domainPat=new RegExp("^" + atom + "(\\." + atom + ")*$");
               var matchArray=emailStr.match(emailPat);
               if (matchArray == null) {
                   return false;
               }
               var user=matchArray[1];
               var domain=matchArray[2];
               if (user.match(userPat) == null) {
                   return false;
               }
               var IPArray = domain.match(ipDomainPat);
               if (IPArray != null) {
                   for (var i = 1; i <= 4; i++) {
                      if (IPArray[i] > 255) {
                         return false;
                      }
                   }
                   return true;
               }
               var domainArray=domain.match(domainPat);
               if (domainArray == null) {
                   return false;
               }
               var atomPat=new RegExp(atom,"g");
               var domArr=domain.match(atomPat);
               var len=domArr.length;
               if ((domArr[domArr.length-1].length < 2) ||
                   (domArr[domArr.length-1].length > 3)) {
                   return false;
               }
               if (len < 2) {
                   return false;
               }
               return true;
            }
function validateMask(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oMasked = new mask();
                for (x in oMasked) {
                    if ((form[oMasked[x][0]].type == 'text' ||
                         form[oMasked[x][0]].type == 'textarea' ||
                         form[oMasked[x][0]].type == 'password') &&
                        (form[oMasked[x][0]].value.length > 0)) {
                        if (!matchPattern(form[oMasked[x][0]].value,
oMasked[x][2]("mask"))) {
                            if (i == 0) {
                                focusField = form[oMasked[x][0]];
                            }
                            fields[i++] = oMasked[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }

            function matchPattern(value, mask) {
               var bMatched = mask.exec(value);
               if (!bMatched) {
                   return false;
               }
               return true;
            }
function validateMinLength(form) {
                var bValid = true;
                var focusField = null;
                var i = 0;
                var fields = new Array();
                oMinLength = new minlength();
                for (x in oMinLength) {
                    if (form[oMinLength[x][0]].type == 'text' ||
                        form[oMinLength[x][0]].type == 'textarea') {
                        var iMin = parseInt(oMinLength[x][2]("minlength"));
                        if (form[oMinLength[x][0]].value.length < iMin) {
                            if (i == 0) {
                                focusField = form[oMinLength[x][0]];
                            }
                            fields[i++] = oMinLength[x][1];
                            bValid = false;
                        }
                    }
                }
                if (fields.length > 0) {
                   focusField.focus();
                   alert(fields.join('\n'));
                }
                return bValid;
            }

//End -->
</script>



        </td>
      </tr>
      <tr>
        <td colspan="2">



<hr align="center" width="100%" size="1" noshade>
<table width="80%" align="center" cellspacing="0" cellpadding="0">
  <tr>
    <td class="footerSubtext">
      ClaimZone &reg; is a registered trademark of MountainView Software
      <br/>
      BUILD:&nbsp;&nbsp;
      Fri, Jun 6, 2003 at 8:44:05 AM
    </td>
  </tr>
</table>
<br/>

        </td>
      </tr>
    </table>
  </body>
</html>
---------------------------------------Page Source
End-------------------------------------


-----Original Message-----
From: David Graham [mailto:[EMAIL PROTECTED]
Sent: Friday, June 06, 2003 8:41 AM
To: [EMAIL PROTECTED]
Subject: RE: Client-side validation is not working - rich


Make sure you're calling the correct generated javascript function and that
the function exists in the page.  You could post the javascript specific to
your form (not the standard js functions that the tag generates).

David


>The JavaScript is output and is visible when I do view source in IE.  Is
>there anything else that you need to know that would help solve this
>problem?
>
>Rich
>
>-----Original Message-----
>From: David Graham [mailto:[EMAIL PROTECTED]
>Sent: Thursday, June 05, 2003 5:57 PM
>To: [EMAIL PROTECTED]
>Subject: Re: Client-side validation is not working - rich
>
>
>What happens with that setup?  Is any javascript output?
>
>David
>
> >I am having problems enabling client side (JavaScript) validation in
>struts
> >1.1rc
> >
> >I have added these lines in my jsp:
> >     ...
> >     <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
> >     ...
> >     <html:javascript formName="diaryForm" />
> >     ...
> >     <html:form action="/diaryEdit" focus="remindUserId" onsubmit="return
> >validateDiaryForm(this);" >
> >     ...
> >
> >Is there anything else I need to do to get the client-side JavaScript
> >validation to work.  Right now only the server-side is working.
> >
> >Thanks,
> >
> >Richard Conover
> >Developer
> >MountainView Software Products and Services
> >Gallagher Bassett Services, Inc.
> >Phone: 801-544-2446 Ext. 320
> >Fax: 866-741-0545
> >[EMAIL PROTECTED]
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> >
>
>_________________________________________________________________
>Tired of spam? Get advanced junk mail protection with MSN 8.
>http://join.msn.com/?page=features/junkmail
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>

_________________________________________________________________
The new MSN 8: smart spam protection and 2 months FREE*
http://join.msn.com/?page=features/junkmail


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to