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
}
}