Convalidare le date

Di: cicciodag | 26/09/2020 18:09:01
Salve a tutti..
Sono nuovo del forum e principiante nell'uso di DW.
Ho un piccolo??? problema con DW e vi chiedo un aiuto per cercare una soluzione.
Ho realizzato un form per l'invio di alcuni dati in un database di access. Tra i campi ce ne sono alcuni che dovrebbero contenere delle date. Il mio problema è che se l'utente inserisce del testo anzichè una data, mi ritorna un errore perchè nel db i campi sono in formato data.
Qual'è lo strumento di DW che mi permette di validare il contenuto di un campo prima dell'invio??
In alternativa, come posso ovviare a questo problema con del codice ASP (ne capisco poco) e in quale parte del codice prodotto da DW dovrei inserirlo?
Vi mostro una parte del codice prodotto da DW..
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<!--#include virtual="/Connections/foresteria.asp" -->
<%
' *** Edit Operations: declare variables
Dim MM_editAction
Dim MM_abortEdit
Dim MM_editQuery
Dim MM_editCmd
Dim MM_editConnection
Dim MM_editTable
Dim MM_editRedirectUrl
Dim MM_editColumn
Dim MM_recordId
Dim MM_fieldsStr
Dim MM_columnsStr
Dim MM_fields
Dim MM_columns
Dim MM_typeArray
Dim MM_formVal
Dim MM_delim
Dim MM_altVal
Dim MM_emptyVal
Dim MM_i
MM_editAction = CStr(Request.ServerVariables("SCRIPT_NAME"))
If (Request.QueryString <> "") Then
MM_editAction = MM_editAction & "?" & Server.HTMLEncode(Request.QueryString)
End If
' boolean to abort record edit
MM_abortEdit = false
' query string to execute
MM_editQuery = ""
%>
<%
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) = "form1") Then
MM_editConnection = MM_foresteria_STRING
MM_editTable = "Risultati"
MM_editRedirectUrl = "/gesdb/Invio_eff.asp"
MM_fieldsStr = "DocumGdf|value|DTDocRilIl|value|Comando appar|value|Cognome|value|Nome|value|DTDataNascita|value|Prov_Nascita|value|Nato_a|value|DTForesteriaDal|value|DTForesteriaAl|value|ForesteriaTipo|value|"
MM_columnsStr = "DocumentoGDF|',none,''|Datarilascio|',none,NULL|Comandoappartenenza|',none,''|Cognome|',none,''|Nome|',none,''|Datadinascita|',none,NULL|Provdinascita|',none,''|Luogodinascita|',none,''|InizioForesteria|',none,NULL|FineFresteria|',none,NULL|tipoforesteria|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(MM_i+1) = CStr(Request.Form(MM_fields(MM_i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
Dim MM_tableValues
Dim MM_dbValues
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For MM_i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_formVal = MM_fields(MM_i+1)
MM_typeArray = Split(MM_columns(MM_i+1),",")
MM_delim = MM_typeArray(0)
If (MM_delim = "none") Then MM_delim = ""
MM_altVal = MM_typeArray(1)
If (MM_altVal = "none") Then MM_altVal = ""
MM_emptyVal = MM_typeArray(2)
If (MM_emptyVal = "none") Then MM_emptyVal = ""
If (MM_formVal = "") Then
MM_formVal = MM_emptyVal
Else
If (MM_altVal <> "") Then
MM_formVal = MM_altVal
ElseIf (MM_delim = "'") Then ' escape quotes
MM_formVal = "'" & Replace(MM_formVal,"'","''") & "'"
Else
MM_formVal = MM_delim + MM_formVal + MM_delim
End If
End If
If (MM_i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End If
MM_tableValues = MM_tableValues & MM_columns(MM_i)
MM_dbValues = MM_dbValues & MM_formVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
response.Write(MM_editQuery)
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtm">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento senza titolo</title>
<style type="text/css">
<!--
.Stile4 {
font-size: 10px;
font-family: Verdana, Arial, Helvetica, sans-serif;
}
.Stile6 {font-size: 10px}
.Stile8 {font-size: 24px; font-family: Verdana, Arial, Helvetica, sans-serif; }
.Stile9 {font-size: 18px; font-family: Verdana, Arial, Helvetica, sans-serif; }
-->
</style>
<script type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_validateForm() { //v4.0
var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
if (val) { nm=val.name; if ((val=val.value)!="") {
if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
if (p<1 || p==(val.length-1)) errors+='- '+nm+' deve contenere un indirizzo di posta valido.\\n';
} else if (test!='R') { num = parseFloat(val);
if (isNaN(val)) errors+='- '+nm+' deve contenere un numero.\\n';
if (test.indexOf('inRange') != -1) { p=test.indexOf(':');
min=test.substring(8,p); max=test.substring(p+1);
if (num<min || max<num) errors+='- '+nm+' deve contenere un numero compreso tra '+min+' e '+max+'.\\n';
} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' è richiesto.\\n'; }
} if (errors) alert('Si è verificato (si sono verificati) il seguente/i errore/i:\\n'+errors);
document.MM_returnValue = (errors == '');
}
//-->
</script>
</head>
<%
dim ut_log
ut_log=right(request.ServerVariables("LOGON_USER"),7)
%>
<body>
<table width="855" border="0">
<tr><td><div align="center"><span class="Stile8">MODULO DI PRENOTAZIONE</span></div></td></tr>
</table>
<form action="<%=MM_editAction%>" method="POST" name="form1" id="form1" onsubmit="MM_validateForm('DocumGdf','','R','DocRilIl','','R','Comando appar','','R','Cognome','','R','Nome','','R','DataNascita','','R','Prov_Nascita','','R','Nato_a','','R','ForesteriaDal','','R','ForesteriaAl','','R');return document.MM_returnValue">
<table width="853" border="1">
<tr>
<td bgcolor="#FFFFCC"><div align="center"><span class="Stile8">Militare Richiedente </span></div></td>
<td><span class="Stile4">Documento
<input name="Docum" type="text" id="Docum" size="15" maxlength="20" />
</span></td>
<td><span class="Stile4">Rilasciato il
<input name="DTDocRilI" type="text" id="DTDocRilI" size="10" maxlength="10" />
</span></td>
<td width="216"><span class="Stile6"><span class="Stile4">Utente Loggato: <b>
<% response.write ut_log %> </b></span></span></td>
<td><span class="Stile4">Data Registrazione <b><% response.Write date %></b></span></td>
</tr>
GRazie per l'aiuto..

Risposte


Nessuna risposta trovata!