Twitter status:

    Form con validazione in Ajax con mootools 2/3

    Nel 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!

    Technorati Tag: , , , ,

    One Response to “Form con validazione in Ajax con mootools 2/3”

    Leave a Reply