Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Posizione errore Jquery.Validate

    Sto creando un form per l'inserimento di aziende in un database e vorrei controllarlo con Jquery.validate. Ho creato un piccolo script che sembra funzionare però vorrei mettere gli errori in un punto da me stabilito... come faccio?

    Html:
    codice:
    <form method="post" id="new_company" action="companies.php?step=3">
        <div class="table">
            <table class="listing form" cellpadding="0" cellspacing="0">
                <tr>
                    <th class="full" colspan="3">New Company</th>
                </tr>
                <tr>
                    <td class="first" width="120">Nome Azienda</td>
                    <td width="120"><input class="text" type="text" id="company_name" name="company_name"></td>
                    <td class="last">Errore qui</td>
                </tr>
            </table>
        </div>
    </form>
    Javascript
    codice:
    $().ready(function() {
    	$("#new_company").validate({
    		submitHandler: function() { 
    			alert('tutti i dati sono stati inseriti correttamente!');
    			document.getElementById('new_company').submit();
    		},			
    		rules: {
    			company_name: {
    				required: true,
    				minLength: 5,
    				maxLength: 32
    			}			
    		},
    		messages: {
    			company_name: {
    				required: "Inserisci l'username",
    				minLength: "Minimo 5 lettere",
    				maxLength: "Massimo 32 lettere"
    			}
    		}
    	});
    });
    Fabzine.it: Il blog italiano sulla digital fabrication

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660

    Re: Posizione errore Jquery.Validate

    Originariamente inviato da lupoz
    Sto creando un form per l'inserimento di aziende in un database e vorrei controllarlo con Jquery.validate. Ho creato un piccolo script che sembra funzionare però vorrei mettere gli errori in un punto da me stabilito... come faccio?

    Html:
    codice:
    <form method="post" id="new_company" action="companies.php?step=3">
        <div class="table">
            <table class="listing form" cellpadding="0" cellspacing="0">
                <tr>
                    <th class="full" colspan="3">New Company</th>
                </tr>
                <tr>
                    <td class="first" width="120">Nome Azienda</td>
                    <td width="120"><input class="text" type="text" id="company_name" name="company_name"></td>
                    <td class="last">Errore qui</td>
                </tr>
            </table>
        </div>
    <div id="errorContainer"> 
    </form>
    Javascript
    codice:
    $().ready(function() {
    	$("#new_company").validate({
    errorLabelContainer: "#errorContainer", 
    		submitHandler: function() { 
    			alert('tutti i dati sono stati inseriti correttamente!');
    			document.getElementById('new_company').submit();
    		},			
    		rules: {
    			company_name: {
    				required: true,
    				minLength: 5,
    				maxLength: 32
    			}			
    		},
    		messages: {
    			company_name: {
    				required: "Inserisci l'username",
    				minLength: "Minimo 5 lettere",
    				maxLength: "Massimo 32 lettere"
    			}
    		}
    	});
    });

  3. #3
    Grazie! funziona, però i vorrei che il messaggio fosse posizionato diversamente per ogni campo (nell'esempio è solo uno ma saranno di più).

    Ora mette tutti gli errori assieme.
    Fabzine.it: Il blog italiano sulla digital fabrication

  4. #4
    ho risolto in questo modo, praticamente il codice mette l'errore relativo nella cella successiva al campo.

    codice:
    errorPlacement: function(error, element) {
                             error.appendTo( element.parent("td").next("td") );
    },
    Fabzine.it: Il blog italiano sulla digital fabrication

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    beh allora ti devi gestire ogni caso, lo puoi fare utilizzando l'opzione errorPlacement
    codice:
    $().ready(function() {
    	$("#new_company").validate({
    		submitHandler: function() { 
    			alert('tutti i dati sono stati inseriti correttamente!');
    			document.getElementById('new_company').submit();
    		},			
    		rules: {
    			company_name: {
    				required: true,
    				minLength: 5,
    				maxLength: 32
    			}			
    		},
    		messages: {
    			company_name: {
    				required: "Inserisci l'username",
    				minLength: "Minimo 5 lettere",
    				maxLength: "Massimo 32 lettere"
    			}
    		},
                    errorPlacement: function(error, element) {
                         
                    }
    	});
    });
    La funzione errorPlacement ha due parametri di input
    - error è il contenitore della label d'errore
    - element è il campo che è andato in errore.

    Devi decidere semplicemente dove vuoi posizionare l'oggetto error nel dom.

  6. #6
    Esatto grazie!
    Fabzine.it: Il blog italiano sulla digital fabrication

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.