Form con validazione in Ajax con mootools 2/3
Posted Settembre 19th, 2007 by adminNel prcecedente tutorial abbiamo visto come usare la libreria js mootools e far effettuare una richiesta asincrona.
Oggi vedremo come creare il "motore" su cui si basa la validazione del nostro form; per prima cosa controlleremo se l’utente ha inserito tutti i dati, poi se le password inserite combaciano ed infine se l’indirizzo e-mail è valido.
<?php
include(’functions.php’);if ($_POST['Nome']==” || strlen($_POST['Nome'])<3)
{
$errors[] = ‘Campo obbligatorio, il nome deve contenere almeno 3 caratteri’;
}if ($_POST['Cognome']==” || strlen($_POST['Cognome'])<3)
{
$errors[] = ‘Campo obbligatorio, il cognome deve contenere almeno 3 caratteri’;
}if ($_POST['Username']==” || alpha_numeric($_POST['Username'])==FALSE)
{
$errors[] = ‘Username obbligatorio, deve contenere valori alfanumerici’;
}if ($_POST['Password']==” || alpha_numeric($_POST['Password'])==FALSE)
{
$errors[] = ‘Password obbligatoria, deve contenere valori alfanumerici’;
}if ($_POST['Password']!=$_POST['re_Password'])
{
$errors[] = ‘Le due password non corrispondono’;
}if (valid_email($_POST['Email'])==FALSE)
{
$errors[] = ‘Per piacere inserisci un indirizzo valido’;
}if(is_array($errors))
{
echo ‘<p class="error"><b>Si sono verificati i seguenti errori</b></p>’;
while (list($key,$value) = each($errors))
{echo ‘<span class="error">’.$value.’</span><br />’;
}
}
else {
//fai qualcosa,
echo ‘<p><b>OK!</b></p>’;
echo ‘<span>La tua registrazione è avvenuta con successo!</span>’;
}?>
Il codice proposto include un file "functions.php" che contiene la definizione delle funzioni "alphanumeric" e "valid_email" utili alla validazione. Successivamente controlliamo che nome e cognome siano stringhe di almeno 3 caratteri, in caso contrario memorizziamo l’errore in un array chiamato "errors", controlliamo quindi che lo username e la password siano alfanumeriche e le 2 password combacino, infine controlliamo che l’e-mail sia valida mettendo la descrizione degli errori nell’array questo perchè ci potrebbero essere più errori contemporaneamente e quindi alla fine conviene mostrare il contenuto dell’array tramite un ciclo while, altrimenti se l’array non è stato creato (e quindi non ci sono errori) mostriamo un messaggio che indica all’utente l’avvenuta registrazione.
Come detto vengono utilizzate 2 funzioni per la validazione di utente, password ed email, eccovi il codice:
<?php
function alpha_numeric($str)
{
return ( ! preg_match("/^([-a-z0-9])+$/i", $str)) ? FALSE : TRUE;
}function valid_email($str)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}?>
semplicemente valutano la stringa che viene loro passata tramite con una espressione regolare e restituiscono il relativo valore di verità.
Per un approfondimento sulle espressioni regolari in PHP fate riferimento a questi articoli qui e qui.
La prossima volta metteremo tutto insieme e vedremo all’opera quanto creato fin’ora, vi aspetto!
Ma avrà mica a che fare con?
One Response to “Form con validazione in Ajax con mootools 2/3”
Ottobre 29th, 2007 at 10:07 pm
[...] attributo target del tag form il valore register.php, cioè il nome della pagina creata nella seconda [...]
Leave a Reply