Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Validare tre campi di cui almno uno richiesto

    In una pagina di raccolta dati ho, tra gli altri, da recuperare email, telefono e cellulare.
    A parte le validazioni standard fatte con le regular expression dovrei anche imporre che almeno uno dei 3 campi sia riempito.

    Come mi consigliate di procedere?
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  2. #2
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    usare i xxxvalidator.

  3. #3
    E' che non c'è un validator standard che invalidi la pagina se non è stato inserito almeno uno tra tre dati. Son tutti sui controlli singoli mentre a me ne serve uno come il RequiredFieldValidator ma che operi su 3 campi contemporaneamente.
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Ripeto il consiglio usare i xxxValidator

    dove per xxx ci può essere per esempio: Custom

    Pietro

  5. #5
    Utente di HTML.it L'avatar di cassano
    Registrato dal
    Aug 2004
    Messaggi
    3,002
    Custom
    esatto.

  6. #6
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    Originariamente inviato da cassano
    esatto.


    e non è neanche necessario usare javascript basta validare tutto lato server


    e non è necessario neanche usare i validatori
    basta, nell'vento opportuno, vedere se almeno un campo sia valorizzato . Non è una impresa impossibile

    Pietro

  7. #7
    Ok, ora ci provo! :-)
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  8. #8
    Come non detto... non ci riesco...
    Un esempio?
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

  9. #9
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    codice:
    <%@ Page Language="VB"  %>
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <script runat="server">
    
    	Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs)
    		args.IsValid = Not (Me.TextBox1.Text.Trim = String.Empty And Me.TextBox2.Text.Trim = String.Empty And Me.TextBox3.Text.Trim = String.Empty)
    		Me.Label1.Text = ""
    	End Sub
    
    	Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    		Me.Validate()
    		If Me.IsValid Then
    			Me.Label1.Text = "Controllo validità superato"
    		End If
    	End Sub
    </script>
    
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    	<title>Untitled Page</title>
    	<script type="text/javascript">
    		function controllo_textbox(sender, args)
    		{
    			var t1 = document.getElementById("TextBox1");
    			var t2 = document.getElementById("TextBox2");
    			var t3 = document.getElementById("TextBox3");
    			
    			args.IsValid = !(trim(t1.value) == "" && trim(t2.value) == "" && trim(t3.value) == "");
    		}
    		
    		function trim(stringa)
    		{ 
    			stringa = stringa + "";
    			return stringa.replace(/^ */,"").replace(/ *$/,""); 
    		} 
    		
    	</script>
    </head>
    <body>
    	<form id="form1" runat="server">
    		<div>
    			<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
    
    			
    
    			<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
    
    			
    
    			<asp:TextBox ID="TextBox3" runat="server"></asp:TextBox>
    
    			
    
    			<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
    			<asp:Label ID="Label1" runat="server"></asp:Label>
    
    			
    
    			<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage="Deve essere valorizzato almeno un campo" ClientValidationFunction="controllo_textbox" OnServerValidate="CustomValidator1_ServerValidate"></asp:CustomValidator>
    		</div>
    	</form>
    </body>
    </html>
    Pietro

  10. #10
    Ok, ora è più chiaro e ti ringrazio.
    Però ancora non funziona correttamente... quando clicko sul bottone la validazione viene eseguita ma comunque si finisce sulla pagina successiva.
    Specifico anche che sto lavorando dentro un Wizard.

    Come si fa a farlo restare sulla stessa pagina?
    Non e' bello cio' che e' bello... ma che bello che bello che bello...
    Utonter. Il silenzio degli ignoranti

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 © 2025 vBulletin Solutions, Inc. All rights reserved.