{"id":68695,"date":"2023-05-09T14:55:31","date_gmt":"2023-05-09T13:55:31","guid":{"rendered":"https:\/\/kinsta.com\/it\/?p=68695&#038;preview=true&#038;preview_id=68695"},"modified":"2023-05-12T07:47:19","modified_gmt":"2023-05-12T06:47:19","slug":"convalida-laravel","status":"publish","type":"post","link":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/","title":{"rendered":"Convalida dei Dati in Laravel: Pratica ed Efficace"},"content":{"rendered":"<p>Oggi pi\u00f9 che mai \u00e8 fondamentale che i dati delle applicazioni siano validi, accurati e soddisfino tutti i requisiti di sistema. Questo sistema risponde alla necessit\u00e0 di mantenere la coerenza dei dati e di evitare le vulnerabilit\u00e0 della sicurezza.<\/p>\n<p><a href=\"https:\/\/kinsta.com\/it\/blog\/framework-laravel\/\">Laravel<\/a> rende la convalida dei dati facile e intuitiva. Segue un&#8217;architettura MVC (<a href=\"https:\/\/kinsta.com\/it\/blog\/framework-php\/#model-view-controller-architecture\">Model View Controller<\/a>) e richiede solo una conoscenza generale di PHP e dei concetti di programmazione orientata agli oggetti (OOP). Inoltre, Laravel offre diversi metodi per convalidare i dati in entrata.<\/p>\n<p>Vediamo alcuni di questi approcci e come applicare le regole di convalida ai vostri dati.<\/p>\n<div><\/div><kinsta-auto-toc heading=\"Table of Contents\" exclude=\"last\" list-style=\"arrow\" selector=\"h2\" count-number=\"-1\"><\/kinsta-auto-toc>\n<h2>Convalida dei dati semplificata in Laravel<\/h2>\n<p>Laravel fornisce diverse regole di convalida pronte all&#8217;uso per l&#8217;invio di dati da parte degli utenti della vostra applicazione tramite moduli. \u00c8 possibile contrassegnare i campi di input come obbligatori, impostare una lunghezza minima o massima e richiedere inserimenti unici (non duplicati) e indirizzi e-mail validi. Il validator di Laravel verifica se l&#8217;input soddisfa queste regole o altre da voi specificate.<\/p>\n<p>Le <a href=\"https:\/\/laravel.com\/docs\/9.x\/validation#available-validation-rules\" target=\"_blank\" rel=\"noopener noreferrer\">regole di validazione di Laravel<\/a> includono:<\/p>\n<ul>\n<li><code>required<\/code> &#8211; I dati del campo non devono essere nulli o vuoti.<\/li>\n<li><code>array <\/code> &#8211; I dati del campo devono essere un array PHP.<\/li>\n<li><code>bail<\/code> &#8211; La regola di validazione smette di essere eseguita dopo aver riscontrato il primo errore di validazione.<\/li>\n<li><code>email<\/code> &#8211; I dati del campo devono essere un indirizzo e-mail valido.<\/li>\n<li><code>unique<\/code> &#8211; I dati del campo non devono avere duplicati nella tabella del database.<\/li>\n<\/ul>\n<p>Tutti i metodi di validazione hanno pro e contro, ma la loro variet\u00e0 permette di scegliere l&#8217;approccio migliore per le proprie esigenze. A seconda del metodo scelto, la convalida di Laravel pu\u00f2 avvenire in diversi modi, con messaggi di errore manuali o automatici.<\/p>\n<p>Il metodo pi\u00f9 comune \u00e8 code&gt;validate, utilizzato per le <a href=\"https:\/\/kinsta.com\/it\/blog\/cos-e-una-richiesta-http\/\">richieste HTTP<\/a> in entrata. Questo metodo \u00e8 collegato ai dati della richiesta ed esegue le regole di validazione. \u00c8 possibile separare le regole per ogni campo con delle virgole, come si vede nell&#8217;esempio seguente.<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Http\\Request;\n \npublic function store (Request $request){\n  $validated = $request-&gt;validate([\n        'email' =&gt; ['required, unique:users, email, bail'],\n        'name' =&gt; ['required'],\n    ]);\n\n}<\/code><\/pre>\n<p>In questo caso, <code>email<\/code> \u00e8 un input obbligatorio, cio\u00e8 non pu\u00f2 essere nullo. Inoltre, deve essere unico nella tabella del database <code>users<\/code>, per evitare che lo stesso indirizzo e-mail venga registrato due volte. L&#8217;ultima regola impone che l&#8217;indirizzo e-mail sia valido. In caso contrario, il processo di convalida si interrompe. Il campo nome \u00e8 obbligatorio ma non ha altre regole.<\/p>\n<p>Se una regola di convalida di Laravel fallisce, viene generata automaticamente una risposta.<\/p>\n\n<h2>Nozioni di base sulla validazione<\/h2>\n<p>Per capire meglio i metodi di validazione, considerate il seguente esempio. Definirete una route per l&#8217;endpoint e creerete un controller per convalidare ed elaborare i dati della richiesta.<\/p>\n<p>Per prima cosa, create un semplice endpoint che permetta agli utenti di memorizzare le loro email e <a href=\"https:\/\/kinsta.com\/it\/blog\/password-manager\/\">password<\/a>.<\/p>\n<h3>Definire la route<\/h3>\n<p>Le route di Laravel sono definite nel file <strong>routes\/web.php<\/strong> per un&#8217;applicazione web o <strong>routes\/api.php<\/strong> per un&#8217;API. Per questo esempio, usate il file <strong>api.php<\/strong>:<\/p>\n<pre><code class=\"language-php\">use App\\Http\\Controllers\\UserController;\n \nRoute::post('\/store', [UserController::class]);<\/code><\/pre>\n<h3>Creare il controller<\/h3>\n<p>Eseguite questo comando di Artisan per creare il controller:<\/p>\n<pre><code class=\"language-php\">php artisan make:controller\n\nUserController<\/code><\/pre>\n<p>Questo comando crea un file <strong>UserController.php<\/strong> nella cartella <strong>app\/Http\/Controllers<\/strong>.<\/p>\n<p>Ora, definite un metodo <code>store<\/code> per convalidare i dati che entrano nell&#8217;endpoint del negozio prima di memorizzarli.<\/p>\n<p>Questo esempio convalider\u00e0 i seguenti campi utilizzando queste regole:<\/p>\n<ul>\n<li><strong>email<\/strong> &#8211; Deve essere unico, deve essere un&#8217;email valida e deve essere obbligatorio<\/li>\n<li><strong>password<\/strong> &#8211; Deve avere una lunghezza minima, deve essere una password di conferma e deve essere necessaria<\/li>\n<li><strong>age<\/strong>\u00a0&#8211; Deve essere un numero e deve essere obbligatorio<\/li>\n<\/ul>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace App\\Http\\Controllers;\nuse Illuminate\\Http\\Request;\nclass UserController extends Controller\n{\n    \/**\n     * Store new user details.\n     *\n     *\/\n    public function store(Request $request){\n        $validated = $request-&gt;validate([\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ]);\n        \/\/ After user data is validated, logic to store the data\n    }\n\n}<\/code><\/pre>\n<p>La regola <code>confirmed<\/code> permette di richiedere due volte un determinato campo per verificare che i dati siano accurati, come nel caso di utenti che inseriscono nuovamente la propria password durante la registrazione. Questa regola richiede un campo chiamato <code>password_confirmation<\/code>, i cui dati devono corrispondere al campo della <strong>password<\/strong>.<\/p>\n<h3>Visualizzare i messaggi di errore<\/h3>\n<p>Se i criteri di convalida sono soddisfatti, il codice continuer\u00e0 a funzionare normalmente. Se la convalida fallisce, viene lanciata un&#8217;eccezione <code>IlluminateValidationValidationException<\/code> e viene restituita la risposta di errore appropriata.<\/p>\n<p>L&#8217;esempio si basa su un&#8217;API che restituisce una risposta HTTP <code>422 Unprocessable Entity<\/code> in formato JSON. Per le applicazioni web, il reindirizzamento all&#8217;URL precedente visualizzerebbe il messaggio di errore e i dati della richiesta verrebbero inviati alla sessione.<\/p>\n<p>\u00c8 possibile utilizzare la variabile <code>$errors<\/code> nelle viste per visualizzare gli errori restituiti:<\/p>\n<pre><code class=\"language-php\">@if ($errors-&gt;any())\n    &lt;div class=\"alert alert-danger\"&gt;\n        &lt;ul&gt;\n            @foreach ($errors-&gt;all() as $error)\n                &lt;li&gt;{{ $error }}&lt;\/li&gt;\n            @endforeach\n        &lt;\/ul&gt;\n    &lt;\/div&gt;\n@endif<\/code><\/pre>\n<p>Potete anche scegliere di visualizzare solo il primo errore o di fare un ciclo per visualizzarli tutti.<\/p>\n<pre><code class=\"language-php\">\/\/ Fetch all errors\n$errors-&gt;all()\n\n\/\/ Fetch only the first error\n$errors-&gt;first()<\/code><\/pre>\n<h3>Ripopolare i moduli<\/h3>\n<p>La ripopolazione dei moduli evita agli utenti di riscrivere le informazioni in modo che possano concentrarsi sulla correzione dell&#8217;errore. Nell&#8217;esempio di un indirizzo e-mail che non funziona, si pu\u00f2 ripopolare il resto del modulo richiamando il vecchio valore del campo <code>name<\/code>.<\/p>\n<pre><code class=\"language-php\">$name = $request-&gt; old('name')\n\n\/\/Blade helper\n&lt;input type=\"text\" name=\"name\" value=\"{{ old('name') }}\"&gt;\n\n<\/code><\/pre>\n<p>Questa regola restituirebbe <code>null<\/code> nel caso in cui non ci sia stato un input precedente.<\/p>\n<h2>Convalida avanzata<\/h2>\n<p>Laravel offre un altro metodo per scrivere le convalide, chiamato richieste modulo. Una richiesta modulo \u00e8 una classe di richiesta personalizzata che organizza le convalide e riduce il vostro controller.<\/p>\n<p>Hanno una propria logica di validazione e autorizzazione adatta a grandi volumi di input e possono essere utilizzate per definire regole di validazione e personalizzare i messaggi di errore.<\/p>\n<p>Per creare una richiesta modulo, eseguite questo comando di Artisan:<\/p>\n<pre><code class=\"language-php\">php artisan make:request StoreUserRequest<\/code><\/pre>\n<p>Questo comando crea un file <strong>StoreUserRequest.php<\/strong> nella cartella <strong>app\/Http\/Requests<\/strong> e contiene due metodi predefiniti:<\/p>\n<ul>\n<li><code>rules<\/code> restituisce le regole di convalida per i dati della richiesta.<\/li>\n<li><code>authorize<\/code> restituisce un boolean per indicare se l&#8217;utente ha il permesso di eseguire l&#8217;azione richiesta.<\/li>\n<\/ul>\n<p>Convertite l&#8217;esempio precedente per utilizzare una richiesta modulo.<\/p>\n<pre><code class=\"language-php\">&lt;?php\n\nnamespace App\\Http\\Requests;\nuse Illuminate\\Foundation\\Http\\FormRequest;\nclass StoreUserRequest extends FormRequest\n{\n    \/**\n     * Determine if the user is authorized to make this request.\n     *\n     * @return bool\n     *\/\n    public function authorize()\n    {\n        \/\/ Add logic to check if the user is authorized to submit this data.\n        return true;\n    }\n    \/**\n     * Get the validation rules that apply to the request.\n     *\n     * @return array&lt;string, mixed&gt;\n     *\/\n    public function rules()\n    {\n        return [\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ];\n    }\n\n}<\/code><\/pre>\n<p>Per personalizzare i messaggi di errore di queste regole, potete sovrascrivere il metodo messages della classe <code>FormRequest<\/code>.<\/p>\n<pre><code class=\"language-php\">\/**\n\n     * Get the error messages for the defined validation rules.\n     *\n     * @return array\n     *\/\n    public function messages()\n    {\n        return [\n            'email.required' =&gt; 'An email address is required',\n            'email.email' =&gt; 'The email address must be valid',\n            'password.confirmed'=&gt;'Re-type your password as \npassword_confirmation, passwords does not match'\n        ];\n\n    }<\/code><\/pre>\n<p><strong>Nota:<\/strong> il nome dei dati e la regola di convalida sono separati da un punto (.) prima dei dati del messaggio.<\/p>\n<h2>Convalida personalizzata<\/h2>\n<p>Per creare una convalida personalizzata, potete utilizzare la facade <code>Validator<\/code> invece di <code>validate<\/code>. L&#8217;istanza del validator contiene due argomenti: i dati da convalidare e un array di regole di convalida. Questi due argomenti vengono passati al metodo <code>::make<\/code> della facade del validator, generando una nuova istanza del validator.<\/p>\n<pre><code class=\"language-php\">use Illuminate\\Http\\Request; \n\npublic function store (Request $request){\n        $validator = Validator::make($request-&gt;all(),[\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ]);\n        if ($validator-&gt;fails()) {\n            \/\/ Return errors or redirect back with errors\n            return $validator-&gt;errors();\n        }\n \n        \/\/ Retrieve the validated input...\n        $validated = $validator-&gt;validated();\n        \/\/ Continue logic to store the data\n\n    }<\/code><\/pre>\n<p>Se volete aggiungere un indirizzamento automatico, potete eseguire il metodo <code>validate<\/code> su un&#8217;istanza di validator preesistente. Se la validazione fallisce, una richiesta XHR produce una risposta JSON con <code>422 Unprocessable Entity<\/code> come codice di stato, oppure l&#8217;utente viene reindirizzato immediatamente.<\/p>\n<pre><code class=\"language-php\">$validator = Validator::make($request-&gt;all(),[\n'email' =&gt; 'required|unique:users|email',\n'password' =&gt; 'required|min:7|confirmed'\n])-&gt;validate();<\/code><\/pre>\n<p>\u00c8 anche possibile personalizzare i messaggi di errore passando a <code>Validate::make method<\/code> un terzo parametro chiamato <code>messages<\/code>:<\/p>\n<pre><code class=\"language-php\">$validator = Validator::make($request-&gt;all(),[\n            'email' =&gt; 'required|unique:users|email',\n            'age' =&gt; 'required|numeric',\n            'password' =&gt; 'required|min:7|confirmed'\n        ], $messages = [\n            'required' =&gt; 'The :attribute field is required.',\n]);<\/code><\/pre>\n<p><strong>Nota:<\/strong> <code>:attribute<\/code> viene sostituito dal nome del campo da convalidare.<\/p>\n\n<h2>Riepilogo<\/h2>\n<p>L&#8217;esecuzione della convalida dei dati \u00e8 fondamentale per mantenere il vostro set di dati pulito, corretto e completo. La convalida dei dati permette di eliminare gli errori nei dati che potrebbero potenzialmente danneggiare o influenzare il vostro progetto. La convalida diventa sempre pi\u00f9 importante quando si lavora in scala e con grandi quantit\u00e0 di dati.<\/p>\n<p>Laravel consente numerosi approcci flessibili per garantire l&#8217;integrit\u00e0 e l&#8217;accuratezza dei dati che passano attraverso la vostra applicazione. Potete realizzare complicate logiche di validazione con metodi predefiniti e personalizzabili, rendendo la vostra base di codice ben strutturata e pi\u00f9 facilmente riutilizzabile.<\/p>\n<p><a href=\"https:\/\/sevalla.com\/application-hosting\/\">Inviate le vostre applicazioni Laravel pi\u00f9 velocemente<\/a> con i servizi di hosting di Kinsta.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Oggi pi\u00f9 che mai \u00e8 fondamentale che i dati delle applicazioni siano validi, accurati e soddisfino tutti i requisiti di sistema. Questo sistema risponde alla necessit\u00e0 &#8230;<\/p>\n","protected":false},"author":199,"featured_media":68696,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[26020],"class_list":["post-68695","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","topic-laravel"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v24.6 (Yoast SEO v24.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Convalida dei dati in Laravel: pratica ed efficace - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Convalida dei Dati in Laravel: Pratica ed Efficace\" \/>\n<meta property=\"og:description\" content=\"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/kinstaitalia\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-09T13:55:31+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-05-12T06:47:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"3042\" \/>\n\t<meta property=\"og:image:height\" content=\"1521\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Jeremy Holcombe\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:description\" content=\"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_IT\" \/>\n<meta name=\"twitter:label1\" content=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Convalida dei Dati in Laravel: Pratica ed Efficace\",\"datePublished\":\"2023-05-09T13:55:31+00:00\",\"dateModified\":\"2023-05-12T06:47:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\"},\"wordCount\":1234,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg\",\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\",\"url\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\",\"name\":\"Convalida dei dati in Laravel: pratica ed efficace - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/it\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg\",\"datePublished\":\"2023-05-09T13:55:31+00:00\",\"dateModified\":\"2023-05-12T06:47:19+00:00\",\"description\":\"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg\",\"width\":3042,\"height\":1521,\"caption\":\"Convalida dei dati in Laravel: pratica ed efficace\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/it\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/it\/argomenti\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Convalida dei Dati in Laravel: Pratica ed Efficace\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/it\/#website\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Soluzioni di hosting premium, veloci e sicure\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/it\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/it\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/it\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/it\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/kinstaitalia\/\",\"https:\/\/x.com\/Kinsta_IT\",\"https:\/\/www.instagram.com\/kinstahosting\/\",\"https:\/\/www.linkedin.com\/company\/kinsta\/\",\"https:\/\/www.pinterest.com\/kinstahosting\/\",\"https:\/\/www.youtube.com\/c\/Kinsta\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g\",\"caption\":\"Jeremy Holcombe\"},\"description\":\"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/jeremyholcombe\/\"],\"url\":\"https:\/\/kinsta.com\/it\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Convalida dei dati in Laravel: pratica ed efficace - Kinsta\u00ae","description":"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/","og_locale":"it_IT","og_type":"article","og_title":"Convalida dei Dati in Laravel: Pratica ed Efficace","og_description":"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.","og_url":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/kinstaitalia\/","article_published_time":"2023-05-09T13:55:31+00:00","article_modified_time":"2023-05-12T06:47:19+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.","twitter_image":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg","twitter_creator":"@Kinsta_IT","twitter_site":"@Kinsta_IT","twitter_misc":{"Scritto da":"Jeremy Holcombe","Tempo di lettura stimato":"8 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Convalida dei Dati in Laravel: Pratica ed Efficace","datePublished":"2023-05-09T13:55:31+00:00","dateModified":"2023-05-12T06:47:19+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/"},"wordCount":1234,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg","inLanguage":"it-IT","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/","url":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/","name":"Convalida dei dati in Laravel: pratica ed efficace - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg","datePublished":"2023-05-09T13:55:31+00:00","dateModified":"2023-05-12T06:47:19+00:00","description":"La convalida di Laravel assicura che i dati nelle applicazioni siano validi, accurati, soddisfino tutti i requisiti di sistema e siano efficaci e pratici.","breadcrumb":{"@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#primaryimage","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/05\/laravel-validation.jpg","width":3042,"height":1521,"caption":"Convalida dei dati in Laravel: pratica ed efficace"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/it\/blog\/convalida-laravel\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/it\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/it\/argomenti\/laravel\/"},{"@type":"ListItem","position":3,"name":"Convalida dei Dati in Laravel: Pratica ed Efficace"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/it\/#website","url":"https:\/\/kinsta.com\/it\/","name":"Kinsta\u00ae","description":"Soluzioni di hosting premium, veloci e sicure","publisher":{"@id":"https:\/\/kinsta.com\/it\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/it\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/it\/","logo":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/it\/wp-content\/uploads\/sites\/2\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/it\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/kinstaitalia\/","https:\/\/x.com\/Kinsta_IT","https:\/\/www.instagram.com\/kinstahosting\/","https:\/\/www.linkedin.com\/company\/kinsta\/","https:\/\/www.pinterest.com\/kinstahosting\/","https:\/\/www.youtube.com\/c\/Kinsta"]},{"@type":"Person","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/kinsta.com\/it\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/0e17001f3bb37dbbe54fceef9bb547fa?s=96&d=mm&r=g","caption":"Jeremy Holcombe"},"description":"Senior Editor at Kinsta, WordPress Web Developer, and Content Writer. Outside of all things WordPress, I enjoy the beach, golf, and movies. I also have tall people problems.","sameAs":["https:\/\/www.linkedin.com\/in\/jeremyholcombe\/"],"url":"https:\/\/kinsta.com\/it\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68695","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/comments?post=68695"}],"version-history":[{"count":8,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68695\/revisions"}],"predecessor-version":[{"id":68851,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/posts\/68695\/revisions\/68851"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/translations\/dk"},{"href":"https:\/\/kinsta.com\/it\/wp-json\/kinsta\/v1\/posts\/68695\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media\/68696"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/media?parent=68695"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/tags?post=68695"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/it\/wp-json\/wp\/v2\/topic?post=68695"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}