Laravel consente di validare i parametri di una richiesta AJAX con semplicità.

La classe Validator di Laravel riceve un array associativo contenente le regole di validazione per i parametri della richiesta. Se la validazione fallisce, viene restituito un array associativo di messaggi di errore in cui la chiave è il nome del parametro della richiesta e il valore è il messaggio di errore.

Nel caso di regole di validazione con più requisiti (ad esempio required|email:rfc), i valori dei parametri vengono sottoposti a più validazioni. Nell'esempio proposto, il valore del parametro email non deve essere vuoto e deve contenere un indirizzo e-mail sintatticamente valido.


namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Validator;

class AjaxController extends Controller
{
    public function processAjaxRequest(Request $request)
    {
        // Regole di validazione per i campi

        $validation_rules = [
            'firstname' => 'required',
            'lastname' => 'required',
            'email' => 'required|email:rfc',
            'message' => 'required'
        ];

        // Effettuiamo la validazione

        $validator = Validator::make($request->all(), $validation_rules);

        if ($validator->fails()) {

            // Se ci sono errori li restituiamo subito e non procediamo oltre

            return response()->json(['errors' => $validator->errors()]);
        }

        // Elaborazione normale della richiesta
    }
}