Källkoden för /anders.enges/asp/testtype2.asp

<!--#include file="../inc/navstuff.asp" -->

<%
notOK = false
intVal = Request( "INTEGER" )
decVal = Request( "DOUBLE" )
dateVal = Request( "DATE" )
timeVal = Request( "TIME" )
textVal = Request( "TEXT" )

If Not IsEmpty( Request( "SUBMIT" ) ) Then
      Dim intERR
      Dim decERR
      Dim dateERR
      Dim timeERR
      Dim textERR

      If intVal & "" = "" Then
           intERR = "HELTAL SAKNAS"
           notOK = true
      ElseIf Not IsNumeric( intVal ) Then
           intERR = "INTE EN SIFFRA"
           notOK = true
      ElseIf Int(intVal) & "" <> intVal Then
           intERR = "INTE ETT HELTAL"
           notOK = true
      End If

      If decVal & "" = "" Then
           decERR = "DECIMALTAL SAKNAS"
           notOK = true
      ElseIf Not IsNumeric( decVal ) Then
                decERR = "INTE EN SIFFRA"
                notOK = true
      End If

      If dateVal & "" = "" Then
           dateERR = "DATUM SAKNAS"
           notOK = true
      ElseIf Not IsDate( dateVal ) Then
                dateERR = "INTE ETT DATUM"
                notOK = true
      End If
      If timeVal & "" = "" Then
           timeERR = "TID SAKNAS"
           notOK = true
      ElseIf Not IsDate( timeVal ) Then
                timeERR = "INTE EN TID"
                notOK = true
      End If
      If textVal & "" = "" Then
           textERR = "TEXT SAKNAS"
           notOK = true
      End If
      if Not notOK Then
           If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
                Response.Redirect "doSomething.asp?" & Request.Form
           Else
                Response.Redirect "doSomething.asp?" & Request.QueryString
           End If
      End IF
End If
%>

Ett sätt att lösa problemet med felaktigt data vid insättingar och uppdateringar är att
aldrig någonsin sända iväg datat om det inte är korrekt.<p>
Nedanstående form kräver att man matar in något i alla fält. Värdena
måste dessutom vara giltiga för den datatyp som krävs.<br>
<%  IF notOK Then %>
ALLA FÄLT ÄR INTE KORREKT IFYLLDA<br>
<%  End If %>
<form name="TESTAR">
<table>
<tr>
      <td>Heltal (n)<%  =intERR %></td>
      <td><INPUT TYPE="TEXT" NAME="INTEGER" SIZE="30" VALUE="<%=intVAL%>"></td>
</tr>
<tr>
      <td>Decimaltal (n,n)<%  =decERR %></td>
      <td><INPUT TYPE="TEXT" NAME="DOUBLE" SIZE="30" VALUE="<%=decVAL%>"></td>
</tr>
<tr>
      <td>Datum (dd.mm.yy)<%  =dateERR %></td>
      <td><INPUT TYPE="TEXT" NAME="DATE" SIZE="30" VALUE="<%=dateVAL%>"></td>
</tr>
<tr>
      <td>Tid (hh:mm)<%  =timeERR %></td>
      <td><INPUT TYPE="TEXT" NAME="TIME" SIZE="30" VALUE="<%=timeVAL%>"></td>
</tr>
<tr>
      <td>TEXT (max 20)<%  =textERR %></td>
      <td><INPUT TYPE="TEXT" NAME="TEXT" SIZE="30" MAXLENGTH="20" VALUE="<%=textVAL%>"></td>
</tr>
<tr>
      <td><INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="TESTA"></td>
      <td><INPUT TYPE="RESET" VALUE="TÖM"></td>
</tr>
</table>
</form>
<p>
Formens kod ser ut på följande sätt:<br>
<div class=code>
<form name="<b>TESTAR</b>"><br>
<table><br>
<tr><br>
   <td>Heltal (n)</td><br>
   <td><INPUT TYPE="TEXT" <b>NAME="INTEGER"</b> SIZE="30"></td><br>
</tr><br>
<tr><br>
   <td>Decimaltal (n,n)</td><br>
   <td><INPUT TYPE="TEXT" <b>NAME="DOUBLE"</b> SIZE="30"></td><br>
</tr><br>
<tr><br>
   <td>Datum (dd.mm.yy)</td><br>
   <td><INPUT TYPE="TEXT" <b>NAME="DATE"</b> SIZE="30"></td><br>
</tr><br>
<tr><br>
   <td>Tid (hh:mm)</td><br>
   <td><INPUT TYPE="TEXT" <b>NAME="TIME"</b> SIZE="30"></td><br>
</tr><br>
<tr><br>
   <td>TEXT (max 20)</td><br>
   <FONT COLOR=#006400><!-- MAXLENGTH sätter maxlängd för texten --></font><br>
   <td><INPUT TYPE="TEXT" <b>NAME="TEXT"</b> SIZE="30" <b>MAXLENGTH="20"</b>></td><br>
</tr><br>
<tr><br>
   <td><INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="TESTA"></td><br>
   <td><INPUT TYPE="RESET" VALUE="TÖM"></td><br>
</tr><br>
</table><br>
</form><br>
</div><p>
<!--#include file="../inc/footer.asp" -->