Technologie Gadgets, SEO Tipps, Geld Verdienen mit WEB!

Come creare e applicare regole di convalida in Lar…

Come creare e applicare regole di convalida in Lar...

Hai mai avuto problemi a controllare i dati utente nelle tue app Web? È importante assicurarsi che questi dati siano corretti, sicuri e utili. Tuttavia, impostare buone regole di convalida può essere difficile, soprattutto con moduli e dati complessi.

E se ci fosse un modo più semplice? Laravel ha un forte sistema di convalida. Semplifica l’impostazione e l’utilizzo delle regole di convalida. Con Laravel, non è necessario scrivere un lungo codice di convalida per tenere sotto controllo i dati della tua app.

Quindi, come puoi Utilizzare il sistema di convalida di Laravel? Questo post del blog ti guiderà. Contiene istruzioni dettagliate, esempi di codice e suggerimenti pratici. Che tu sia nuovo in Laravel o uno sviluppatore esperto, questo blog è per te.

Perché è importante la convalida dei dati?

La convalida dei dati garantisce che i dati siano corretti e affidabili.

Questa è una chiave perché le decisioni basate su dati errati possono essere costose. Il controllo dei dati impedisce agli errori di penetrare nel sistema dati. Risparmia tempo e garantisce che altri processi che utilizzano questi dati non vengano incasinati.

Inoltre, rende i dati coerenti utilizzando regole predefinite per il formato e la struttura dei dati. Questo è importante quando si ha a che fare con molti dati o quando molte persone utilizzano i dati. La coerenza dei dati facilita la collaborazione tra i team.

Considera l’esempio di un negozio di e-commerce.

Quando i clienti effettuano un ordine, forniscono Informazioni quali nome, indirizzo e dettagli di pagamento. Se questi dati non vengono convalidati, informazioni errate potrebbero portare a transazioni non riuscite, consegna all’indirizzo sbagliato o persino problemi di sicurezza.

Pertanto, la convalida dei dati è fondamentale per garantire il buon funzionamento del negozio e la soddisfazione del cliente.

Regole di convalida in Laravel

Quando crei app Web con Laravel, è importante assicurarti che gli input dell’utente siano corretti. Laravel lo rende semplice con il suo sistema di controllo. Conoscere le diverse regole di controllo ti aiuta ad assicurarti che i dati siano corretti.

Le regole di controllo di Laravel coprono molte situazioni. Ecco alcune regole fondamentali:

Regole Descrizione
necessario Garantisce che il campo sia presente nei dati di input.
numerico Verifica che l’input sia un valore numerico.
e-mail Controlla se l’input è un indirizzo email valido.
alfa Verifica che l’input contenga solo caratteri alfabetici.
min Specifica il valore minimo consentito per l’input numerico.
massimo Imposta il valore massimo consentito per l’input numerico.
unico Garantisce che il valore di input sia univoco in una tabella di database specificata.
confermato Corrisponde al valore immesso con un campo di conferma.

Applicare le regole di convalida

È un processo semplice che prevede lo sfruttamento della funzionalità di convalida fornita dal framework. Di seguito è riportato un esempio base di applicazione delle regole di convalida all’interno di un controller:

archivio di funzioni pubbliche (Richiesta $ richiesta) min:8

Configura Laravel per la convalida dei dati

Aggiungi regole in modo condizionale

Negli scenari reali, potrebbe essere necessario applicare regole di convalida in base a determinate condizioni. Laravel ti consente di aggiungere regole in modo condizionale al tuo processo di convalida.

$regole = [
‘name’ => ‘required|string|max:255′,
’email’ => ‘required|email’,
]; if ($qualcheCondizione) $regole[‘additional_field’] = ‘richiesto $richiesta->validate($regole);

Regole di convalida avanzate

Quando i siti web diventano più complessi, abbiamo bisogno di modi migliori per controllare i dati. Laravel ci aiuta a farlo con il suo potente sistema di controllo. Vediamo come puoi migliorare i tuoi controlli.

Regole personalizzate

Laravel ti consente di effettuare controlli personalizzati adatti alle esigenze del tuo sito web. Puoi aggiungerli al metodo di avvio di AppServiceProvider.

utilizzare Illuminate\Support\Facades\Validator; Validator::extend(‘custom_rule’, function ($attribute, $value, $parameters, $validator) // La tua logica di convalida personalizzata qui restituisce $value == ‘custom_value’; );

Puoi utilizzare questa convalida personalizzata come qualsiasi altra.

$richiesta->convalida([
‘custom_field’ => ‘custom_rule’,
]);

Oggetti regola

Laravel 10 ha introdotto oggetti Rule. Questi ti consentono di organizzare meglio i tuoi assegni. È possibile creare un oggetto Regola utilizzando l’interfaccia Illuminate\Contracts\Validation\Rule.

utilizzare Illuminate\Contracts\Validation\Rule; class CustomRule implementa la regola public function goes($attribute, $value) // La tua logica di convalida qui restituisce $value == ‘custom_value’; public function message() return ‘La convalida per questa regola personalizzata non è riuscita.’;

È possibile utilizzare questo oggetto Regola quando si convalidano i dati.

$richiesta->convalida([
‘custom_field’ => [new CustomRule],]);

Utilizza regole di convalida avanzate

L’utilizzo degli oggetti Regola rende i tuoi dati più puliti. È possibile effettuare una convalida avanzata utilizzando più oggetti Regola.

utilizzare App\Regole\CustomRule1; utilizzare App\Regole\CustomRule2; $richiesta->convalida([
‘field1′ => [new CustomRule1, new CustomRule2]’campo2’ => [‘required’, new CustomRule1],]);

Messaggi di convalida personalizzati in linea

Puoi fornire messaggi di errore personalizzati quando convalidi i dati. Ciò è utile quando i messaggi predefiniti non sono sufficientemente specifici:

$richiesta->convalida([
‘field’ => ‘required|numeric|between:1,10’,
], [
‘field.between’ => ‘The :attribute must be between 1 and 10.’,
]);

Regole di convalida personalizzate

Le regole di convalida personalizzate in Laravel consentono agli sviluppatori web di effettuare controlli adatti ai loro siti web. Questi controlli possono gestire esigenze di dati univoche o controlli della logica aziendale. Vediamo come creare e utilizzare regole di controllo personalizzate in Laravel.

Un modo per creare regole di controllo personalizzate è aggiungerle al Validatore di Laravel. Nel tuo AppServiceProvider, all’interno del metodo boot, puoi utilizzare il metodo extend per aggiungere una regola personalizzata.

utilizzare Illuminate\Support\Facades\Validator; Validator::extend(‘custom_rule’, function ($attribute, $value, $parameters, $validator) // La tua logica di convalida personalizzata qui restituisce $value == ‘desired_value’; );

Ora puoi utilizzare questa regola personalizzata quando convalidi i dati:

$richiesta->convalida([
‘custom_field’ => ‘custom_rule’,
]);

Utilizza regole di convalida personalizzate

Messaggi di convalida personalizzati in linea

Puoi anche fornire messaggi di errore personalizzati per una migliore comprensione:

$richiesta->convalida([
‘field’ => ‘required|numeric|custom_rule’,
], [
‘field.custom_rule’ => ‘The :attribute must meet the custom validation criteria.’,
]);

Utilizzo condizionale

Le regole di convalida personalizzate sono molto utili quando si ha a che fare con controlli condizionali. È possibile utilizzare regole basate su situazioni specifiche:

$richiesta->convalida([
‘field1’ => ‘required|numeric|custom_rule_if:other_field,value’,
‘field2’ => ‘required|custom_rule_unless:another_field,value’,
]);

Convalida della richiesta del modulo

La convalida della richiesta del modulo consente di centralizzare la logica di convalida per uno specifico Richiesta HTTP. Invece di ingombrare i controller con regole di convalida, puoi creare classi di richiesta modulo dedicate, mantenendo il codice organizzato e di facile manutenzione.

Crea classi di richiesta modulo

Passaggio 1: generare classi di richiesta modulo

Per creare una classe di richiesta modulo, puoi utilizzare lo strumento da riga di comando di Laravel Craft:

php artigianale make:request MyFormRequest

Questo comando genererà una nuova classe di richiesta modulo nella directory App\Http\Requests. Apri il file generato e troverai un metodo di regole in cui puoi definire le tue regole di convalida.

regole della funzione pubblica() return [
‘name’ => ‘required

Passaggio 2: crea richieste di moduli nel controller

Ora che hai creato la classe Form Request, puoi utilizzarla nel metodo del controller:

utilizzare App\Http\Requests\MyFormRequest; public function store(MyFormRequest $request) // La richiesta è già stata convalidata a questo punto // La tua logica aziendale va qui

Laravel convalida automaticamente la richiesta in arrivo utilizzando le regole definite nella classe Form Request prima di raggiungere il metodo del controller.

Autorizza le richieste di moduli

Le richieste di moduli non solo gestiscono la convalida, ma forniscono anche un modo conveniente per autorizzare la richiesta in arrivo. Puoi definire un metodo di autorizzazione nella classe Form Request:

public function autorizzare() // Restituisce vero o falso in base alla logica di autorizzazione return $user->can(‘create’, Post::class);

Se il metodo di autorizzazione restituisce false, Laravel interromperà automaticamente la richiesta con una risposta 403 Forbidden.

Personalizza i messaggi di errore

Le richieste di moduli semplificano la personalizzazione dei messaggi di errore. Puoi sovrascrivere il metodo dei messaggi nella classe Richiesta modulo:

funzione pubblica messaggi() return [
‘name.required’ => ‘The name field is required.’,
’email.unique’ => ‘The email address must be unique.’,
// Add more custom messages as needed
];

Gestire i reindirizzamenti di convalida

Quando la convalida di una richiesta di modulo fallisce, Laravel reindirizzerà automaticamente alla pagina precedente con gli errori di convalida visualizzati nella sessione. Ciò semplifica il processo di informazione degli utenti sui problemi di convalida.

Riepilogo

Laravel Validation è uno strumento chiave che aiuta a mantenere i tuoi dati sicuri e corretti. Controlla l’input dell’utente prima che venga utilizzato, assicurandosi che rispetti le regole impostate. Laravel offre molti modi per controllare i tuoi dati. Ma c’è di più nella convalida Laravel.

Gestisce inoltre le autorizzazioni utente e consente di impostare messaggi di errore personalizzati. Se i controlli non vengono superati, Laravel rimanda in modo intelligente gli utenti alla pagina precedente con gli errori. Imparare a conoscere queste funzionalità mostra come Laravel ti offre strumenti facili da usare.

×

Ricevi la nostra newsletter
Sii il primo a ricevere gli ultimi aggiornamenti e tutorial.

Grazie per esserti iscritto!