Oggi vediamo come usare il plugin jQuery TargetValidator per la validazione dei nostri form in pochi semplici passi.
[button link=”http://www.targetweb.it/tutorial/2013/target-form-validation/” color=”blue” target=”blank” size=”large”]Demo[/button]
Installazione
Per iniziare a usare il plugin targetValidator vi basterà collegare i due file essenziali css e js nell’head del vostro progetto in questo modo:
<link href="css/target-form-validation.css" rel="stylesheet" type="text/css" /> <script src="js/target-form-validation.js"></script>
Ovviamente accertatevi di inserire sopra il file target-form-validation.js anche le librerie jQuery.
Uso e informazioni utili
Una volta installati i file principali vi basterà richiamare la validazione in questo modo:
$("#bottone-contact").click(function(){ // Click sul form
//Validation Required
//La variabile validation inserite gli ID dei campi da testare
var validation = ["nome", "email","pass", "password_check", "oggetto","messaggio","informativa"];
var buttonInvio = "#bottone-contact"; //ID del bottone di invio
window['buttonInvio'] = buttonInvio;
var timer = 2000; // Timer di scomparsa
//Eseguo la validazione
var isValid = $(document).TrgValidation(validation,buttonInvio,timer);
//Se è tutto ok invio
if (isValid == true) {
alert("Validazione OK = Invio dati all'engine di invio mail ");
} else { alert("Validazione non eseguita"); } // se non è valido non inviare
}); //fine form
Alcune precisazioni utili:
Var validation : Contiene tutti gli id degli input da testare NON indicate il cancelletto (#) per indicare gli ID in questa lista.
Var buttonInvio : è la variabile che viene assegnata al bottone di invio dati del form
Var timer: vi permette di impostare la durata sui messaggi di errore.
Var isValid: è la variabile che contiene il result della validazione, potete usarla come meglio preferite, restituisce true (validazione ok) o false (c’è qualche errore).
Parametri di validazione
Come faccio a impostare i parametri di validazione? Bhè anche in questo caso ho deciso di semplificare di molto il setting generale in questo modo:
Campi obbligatori: sono quelli impostati nella variabile validation (vedi lo script js sopraindicato)
Campo type=”email” : Esegue automaticamente una verifica di correttezza sul pattern email
Campo type=”checkbox” e type=”radio” : Esegue automaticamente una verifica sullo stato checked
Dimensione minima campi: Impostando la proprietà minlength=”X” dove X sta per il valore di caratteri MINIMI di lunghezza da compilare possiamo evitare di ricevere nomi con un carattere o richieste ancora più corte. Se impostiamo minlength=”2″ nel campo “nome” ad esempio il nome inserito per essere validato dovrà essere di almeno 2 caratteri.
Ecco un esempio di HTML (che troverete nella demo e nel download come esempio):
<form id="contact">
<p class="info_form">I campi con <span class="asterisco">(*)</span> sono obbligatori.</p>
<label for="nome">Nome <span class="asterisco">(*)</span></label>
<input type="text" name="nome" id="nome" placeholder="Il tuo nome" minlength="2" />
<label for="Email">Email <span class="asterisco">(*)</span></label>
<input type="email" name="email" id="email" placeholder="Digita la tua email" >
<label for="oggetto">Password <span class="asterisco">(*)</span></label>
<input type="password" name="pass" id="pass" placeholder="Password" >
<label for="oggetto">Riscrivi la Password <span class="asterisco">(*)</span></label>
<input type="password" name="password_check" id="password_check" placeholder="Riscrivi pass" >
<label for="oggetto">Indirizzo </label>
<input type="text" name="indirizzo" id="indirizzo" placeholder="Di che tipo di informazione hai bisogno?" >
<label for="oggetto">CAP </label>
<input type="text" name="cap" id="cap" placeholder="Di che tipo di informazione hai bisogno?" >
<label for="oggetto">Oggetto <span class="asterisco">(*)</span></label>
<input type="text" name="oggetto" id="oggetto" placeholder="Di che tipo di informazione hai bisogno?" minlength="2" >
<label for="messaggio">Richiesta <span class="asterisco">(*)</span></label>
<textarea type="textarea" cols="50" rows="10" name="messaggio" id="messaggio" placeholder="La tua richiesta" minlength="10"></textarea>
<input type="checkbox" name="informativa" id="informativa" value="informativa" checked> Accetto l'informativa sulla privacy <br />
<input type="text" id="fred" name="fred" style="display:none;">
<br />
<input class="primary button" type="button" id="bottone-contact" value="Invia Richiesta">
</form>
Collegare la validazione a un form di contatti PHP
Sicuramente i meno esperti si staranno chiedendo: ok ma ora come faccio a usare la validazione e inviare i dati al mio engine di invio email PHP? Ecco un semplice code how-to per implementare l’invio via ajax dei dati del form al vostro engine di invio dati PHP:
$(document).ready(function() {
$("#bottone-contact").click(function(){
$(this).hide();
$("<img src='images/loader.gif' class='loader' />").appendTo("#contact");
//Validation Required
var validation = ["nome", "email"];
var buttonInvio = "#bottone-contact";
window['buttonInvio'] = buttonInvio;
var timer = 3000;
//Form Ajax required
var form = "#contact";
var url = "forms/form-engine.php";
var isValid = $(document).TrgValidation(validation,buttonInvio,timer);
//Se è tutto ok invio
if (isValid == true) {
var dati = $(form).serialize();
//chiamata ajax
$.ajax({
type: "POST",
url: url,
//il form invia i dati all'engine
data: dati,
dataType: "html",
success: function(msg)
{
$(".loader").hide();
$("<div class='noti-box success'></div>").insertBefore(buttonInvio).html(msg).delay(timer).fadeOut();
$(buttonInvio).delay(timer).fadeIn();
},
error: function()
{
alert("Si e' verificato un errore ti preghiamo di contattarci via mail o telefonicamente.");
}
});//ajax
} else {} // se non è valido non inviare
}); //fine form
}); //fine DOM
NOTA: Potete trovare il file form-engine.php seguendo le indicazioni di questo articolo.
NOTA 2: Serialize è una funzione di jQuery che permette di recuperare in modo autonomo i valori compilati del form, la sintassi è serialize(“#IDFORM”); per maggiori informazioni visita questo articolo.
NOTA3: Ricordatevi di effettuare anche dei controlli server side (PHP) per verificare l’esistenza delle variabili fondamentali e il loro contenuto in caso di attacchi “indesiderati”.
Conclusioni e Download
[button link=”http://www.targetweb.it/tutorial/2013/target-form-validation/” color=”blue” target=”blank” size=”large”]Demo[/button]
[viral-download file1=”http://www.targetweb.it/download/2013/target-form-validation.zip” name1=”Scarica lo script!” url=”http://www.targetweb.it/plugin-validazione-form-jquery-targetvalidator/” message=”Per scaricare il file completo devi condividere l’articolo su un social network. ” tweet=”#jQuery – Plugin validazione form jQuery: TargetValidator” thankyou=”Grazie per aver condiviso, clicca sul link qui sotto:”/]
TargetValidator non vuole di certo mettersi a competere con “BIG” di settore (vedi jQuery validator et simila) che permettono ovviamente una maggiore personalizzazione di tutto il workflow di validazione, tuttavia può essere una valida ( e snella) alternativa per coloro che stanno cercando un plugin leggero e veloce da implementare per i propri form.
Questo articolo ti è stato utile? condividilo sui tuoi social network preferiti oppure fammi sapere le tue opinioni per migliorarlo nei commenti!






