Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Campi obbligatori

  1. #1

    Campi obbligatori

    Buongiorno, mi piacerebbe capire come riconoscere dei campi obbligatori da una pagina sp di inserimento dati su un database access.
    Attualmente la pagina ha tutti i campi obbligatori, ma non riesco a capire dov'è che vengono dichiarati dati.

    Dunque la pagina è la seguente:


    <%
    ' *** Edit Operations: dichiarazione delle variabili

    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 & "?" & 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")) = "submit") Then

    MM_editConnection = MM_connessione_STRING
    MM_editTable = "EVENTS"
    MM_editRedirectUrl = "default.asp"
    MM_fieldsStr = "EVE_TYPE|value|TITOLO|value|FONTE|value|DATA|valu e|DESCRIZIONE|value"
    MM_columnsStr = "EVE_TYPE|none,none,NULL|TITOLO|',none,''|FONTE|', none,''|DATA|',none,''|DESCRIZIONE|',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 & ", EVE_APPROVED) values (" & MM_dbValues & ", 1)"

    If Err.Number <> 0 then
    Response.Write("Error Number -> " & Err.Number)
    Response.write("
    Error Source -> " & Err.Source)
    Response.Write("
    Error Desc -> " & Err.Description)
    End If
    Set objCDO = Nothing


    ' 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
    %>
    <%
    Dim rsType
    Dim rsType_numRows

    Set rsType = Server.CreateObject("ADODB.Recordset")
    rsType.ActiveConnection = MM_connessione_STRING
    rsType.Source = "SELECT * FROM TYPES ORDER BY TYPE_NAME ASC"
    rsType.CursorType = 0
    rsType.CursorLocation = 2
    rsType.LockType = 1
    rsType.Open()

    rsType_numRows = 0
    %>

    <head>
    <link href="assets/connessione.css" rel="stylesheet" type="text/css">
    <script language="JavaScript" 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_valida teForm.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)!="")
    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+' and '+max+'.\n';
    } } } else if (test.charAt(0) == 'R') errors += '- '+nm+' è obbligatorio.\n'; }
    } if (errors) alert('Hai dimenticato di di inserire i campi:\n'+errors);
    document.MM_returnValue = (errors == '');
    }
    //-->
    </script>
    </head>

    <div class = "links">
    <table width="100%" border="0" cellspacing="2" cellpadding="2">
    <tr>
    <td align="left" valign="middle" class="textBold"><a href="default.asp">
    Argomenti</a> &raquo; Inserisci una notizia o un intervento</td>
    <td align="right" valign="middle" class="textBold"> </td>
    </tr>
    <tr align="center" valign="middle">
    <form action="<%=MM_editAction%>" method="POST" name="submit" id="submit">
    <td colspan="2"> <table border="0" cellpadding="0" cellspacing="1" bgcolor="#666666">
    <tr>
    <td align="left" valign="top" bgcolor="#FFFFFF"><table align="center" cellpadding="3" cellspacing="3">
    <% If Request.QueryString("requsername") <> "" Then %>
    <% End If %>
    <tr valign="baseline">
    <td align="right" valign="middle" nowrap class="textBold" background="/imm/sfondo_ve2.jpg">
    Sito di Interesse Nazionale:</td>
    <td valign="middle" background="/imm/sfondo_ve2.jpg">
    <select name="EVE_TYPE" class="form" id="select">
    <%
    While (NOT rsType.EOF)
    %>
    <option value="<%=(rsType.Fields.Item("TYPE_ID").Value)%>" ><%=(rsType.Fields.Item("TYPE_NAME").Value)%></option>
    <%
    rsType.MoveNext()
    Wend
    If (rsType.CursorType > 0) Then
    rsType.MoveFirst
    Else
    rsType.Requery
    End If
    %>
    </select> </td>
    </tr>
    <tr valign="baseline">
    <td align="right" valign="middle" nowrap class="textBold">
    Titolo Notizia/Intervento:</td>
    <td valign="middle"> <input name="TITOLO" type="text" class="form" value="" size="30" maxlength="255">
    </td>
    </tr>
    <tr>
    <td align="right" valign="middle" nowrap class="textBold">
    Data (GG/MM/AA):</td>
    <td valign="middle"> <input name="DATA" type="text" class="form" id="DATA" size="30" maxlength="60">
    </td>
    </tr>
    <tr>
    <td align="right" valign="middle" nowrap class="textBold">
    Fonte (url):</td>
    <td valign="middle"> <input name="FONTE" type="text" class="form" value="" size="30" maxlength="255">
    </td>
    </tr>
    <tr>
    <td align="right" valign="top" nowrap class="textBold"> Descrizione
    Notizia/Intervento</td>
    <td valign="baseline"> <textarea name="DESCRIZIONE" cols="60" rows="10" class="form"></textarea>
    </td>
    </tr>
    <tr valign="baseline">
    <td nowrap align="right"></td>
    <td> <input name="submit" type="submit" class="form" id="submit2" onClick="MM_validateForm('TITOLO','','R','FONTE',' ','R','DATA','','R','DESCRIZIONE','','R');return document.MM_returnValue" value="Inserisci documento nel database">

    <input type="hidden" name="MM_insert" value="submit"> </td>
    </tr>
    </table></td>
    </tr>
    </table></td>
    </form>

    </tr>
    <tr align="center" valign="middle">
    <td colspan="2" class="text">Documenti | <a href="submit.asp">Inserisci
    documento</a></td>
    </tr>
    </table>

    </div>


    <%
    rsType.Close()
    Set rsType = Nothing
    %>


    Ho provato a fare delle prove ma senza esito.

  2. #2
    un campo è obbligatorio quando, se non riempito, viene generato un errore..un esempio pratico è:

    codice:
    dim nome, citta
    
    nome=request.form("nome")
    citta=request.form("citta")
    
    if len(trim(nome))=0 then
      response.write "Giovine inserisci il nome": response.end
    end if
    
    '//nessun controllo su citta
    
    conn.execute("insert into tabella(nome, citta) values('" & nome & "', '" & citta & "')")
    poi certo con dreamweaver non ho idea di come si dica questa cosa
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Con dreamweaver è molto facile, basta selezionare il pulsante che invia il form andare sul pannello design, cliccare su behaviors e poi su validate form. Inserire tutti i parametri ed è fatto.
    Molto importante ricordarsi di dare un nome ad ogni campo per evitare di uscirne di testa.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.