NET移植案例学习:建造Web站点(7)
发布时间:2006-10-14 2:58:38   收集提供:gaoqian
  图5 客户端的验证逻辑

FormSubmitTest(problemTitle,bugDescription,buildVersion,cboProduct,
appLanguage,cboArea, cboSubArea,severity,build)
{
 var iG;
 var renl = "\r" + "\n";
 iG = 0;
 ResetArrowSize();
 if (problemTitle.value == "" ){ 
  document.images.item("ArrowProbTitle").width=8
  iG++
  }
 if (buildVersion.value == -1){
  document.images.item("ArrowBuildVersion").width=8
  iG++
 }
 if (buildVersion.value == ""){
  document.images.item("ArrowBuildVersion").width=8
  iG++
 }
 if (appLanguage.value == -1){
  document.images.item("ArrowAppLanguage").width=8
  iG++
 }
 if (cboProduct.value == ""){
  document.images.item("ArrowProductName").width=8
  iG++
 }
 if (cboArea.value == ""){
  document.images.item("ArrowProblemArea").width=8
  iG++
 }
 if (cboSubArea.value == ""){
  document.images.item("ArrowProblemSubArea").width=8
  iG++
 }
 if (severity.value == -1){
  document.images.item("ArrowSeverity").width=8
  iG++
 }
 if (bugDescription.value == "Problem Description:" + renl + renl + 
     "Steps to reproduce:" + renl + renl + "Expected behavior:" 
     + renl + renl + "Actual behavior:"+ renl + renl + renl){ 
  document.images.item("ArrowDescription").width=8
  iG++
 }
 if (bugDescription.value == ""){
  document.images.item("ArrowDescription").width=8
  iG++
 }
 if (iG != 0){
  alert("You are missing one or more of the required items 
     (indicated by the red arrow) needed to submit this form.")
  return false;
 }
 else{
  if (document.form1.bugDescription.value == "")
  {
   // don't submit
   alert("Please enter a problem description.")
   return false;
  }
 else{
  if (document.form1.bugDescription.value == "Problem 
     Description: 
     Steps to reproduce: Expected behavior: Actual 
     behavior:")
   {
    // don't submit
    alert("Please enter a problem description.")
    return false;
   }
  else{
   var buildval = build.value;
   var buildlen = buildval.length;
   file://alert(buildlen);
   if (buildlen <= 0)
   {
    var typ = buildVersion.type;
    if (typ == "text") file://build is a text box
    {
     var val = buildVersion.value;
     var len = val.length;
     if ((isNaN(val)) || (len != 4))
     {
      // don't submit
      alert("Please enter 'Build' using the 
         format 'NNNN'.")
      return false;
      }
    else
    {
     // concatenate the build number with 
      "07.00.00."
     buildVersion.value = "07.00.00." + 
     buildVersion.value
     // submit
     document.form1.method = "POST"
     document.form1.action = "lamegeneral.asp" 
     return true;
     }
    }
   else
   {
    // submit
    document.form1.method = "POST"
    document.form1.action = "lamegeneral.asp" 
    return true;
    }
   } 
  }
 }
 }
 }
 

  图6 在报告漏洞时选择产品的版本


 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50