{"id":52406,"date":"2023-05-09T15:55:57","date_gmt":"2023-05-09T13:55:57","guid":{"rendered":"https:\/\/kinsta.com\/nl\/?p=52406&#038;preview=true&#038;preview_id=52406"},"modified":"2023-11-15T15:04:50","modified_gmt":"2023-11-15T14:04:50","slug":"laravel-validatie","status":"publish","type":"post","link":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/","title":{"rendered":"Datavalidatie in Laravel: Handig en krachtig"},"content":{"rendered":"<p>Meer dan ooit tevoren is het cruciaal dat de data in je applicaties gevalideerd en nauwkeurig zijn, en voldoen aan alle systeemeisen. Het gaat immers om de noodzaak om data consistent te houden en beveiligingsproblemen te vermijden.<\/p>\n<p><a href=\"https:\/\/kinsta.com\/nl\/blog\/wat-is-laravel\/\">Laravel<\/a> maakt datavalidatie eenvoudig en intu\u00eftief. Het volgt een <a href=\"https:\/\/kinsta.com\/nl\/blog\/php-frameworks\/#model-view-controller-architecture\">model view controller<\/a> (MVC) architectuur en vereist alleen algemene kennis van PHP en concepten van object-geori\u00ebnteerd programmeren (OOP). Bovendien biedt Laravel verschillende methoden voor het valideren van binnenkomende data.<\/p>\n<p>Ontdek enkele van deze benaderingen en hoe je validatieregels kunt toepassen op je dataset.<\/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>Eenvoudige datavalidatie met Laravel<\/h2>\n<p>Laravel biedt verschillende kant-en-klare validatieregels voor wanneer gebruikers van je applicatie data invoeren via formulieren. Je kunt invoervelden als verplicht markeren, een minimale of maximale lengte instellen, en unieke (niet-dubbele) invoer en geldige e-mailadressen vereisen. De Laravel validator controleert of de invoer voldoet aan deze regels of andere die je opgeeft.<\/p>\n<p>Deze <a href=\"https:\/\/laravel.com\/docs\/9.x\/validation#available-validation-rules\" target=\"_blank\" rel=\"noopener noreferrer\">Laravel validatieregels<\/a> zijn onder andere:<\/p>\n<ul>\n<li><code>required<\/code> &#8211; De velddata mogen niet nul of leeg zijn.<\/li>\n<li><code>array <\/code> &#8211; De velddata moeten een PHP array zijn.<\/li>\n<li><code>bail<\/code> &#8211; De validatieregel stopt met uitvoeren nadat hij zijn eerste validatiefout tegenkomt.<\/li>\n<li><code>email<\/code> &#8211; De velddata moeten een geldig e-mailadres zijn.<\/li>\n<li><code>unique<\/code> &#8211; De velddata mogen geen duplicaten hebben in de databasetabel.<\/li>\n<\/ul>\n<p>Alle validatiemethoden hebben voor- en nadelen, maar je kunt het beste de aanpak kiezen die bij jouw behoeften aansluit. Afhankelijk van je gekozen methode kan Laravel validatie op verschillende manieren plaatsvinden, met handmatige of automatische foutmeldingen.<\/p>\n<p>De meest voorkomende methode is <code>validate<\/code>, gebruikt voor inkomende <a href=\"https:\/\/kinsta.com\/blog\/what-is-an-http-request\/\">HTTP verzoeken<\/a>. Deze methode wordt gekoppeld aan de verzoekdata, waarbij de validatieregels worden uitgevoerd. Je kunt de regels voor elk veld scheiden met komma&#8217;s, zoals in onderstaand voorbeeld.<\/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>Hier is <code>email<\/code> een verplichte invoer, wat betekent dat het niet nul kan zijn. Bovendien moet het uniek zijn in de database tabel <code>users<\/code>, zodat hetzelfde e-mailadres niet twee keer wordt geregistreerd. De laatste regel schrijft voor dat het e-mailadres ook geldig moet zijn. Anders stopt het validatieproces. Het naamveld is verplicht, maar heeft geen andere regels.<\/p>\n<p>Als een Laravel validatieregel faalt, wordt automatisch een antwoord gegenereerd.<\/p>\n\n<h2>Basisprincipes van validatie<\/h2>\n<p>Om de validatiemethoden beter te begrijpen, kun je het volgende voorbeeld bekijken. Je definieert een route voor het endpoint en maakt een controller om de verzoekdata te valideren en te verwerken.<\/p>\n<p>Maak eerst een eenvoudig endpoint dat gebruikers in staat stelt hun e-mails en <a href=\"https:\/\/kinsta.com\/nl\/blog\/wachtwoordmanagers\/\">wachtwoorden<\/a> op te slaan.<\/p>\n<h3>Definieer de route<\/h3>\n<p>Laravel routes worden gedefinieerd in het bestand <strong>routes\/web.php<\/strong> voor een webapplicatie of <strong>routes\/api.php<\/strong> voor een API. Gebruik voor dit voorbeeld <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>Maak de controller aan<\/h3>\n<p>Voer dit Artisan commando uit om de controller aan te maken:<\/p>\n<pre><code class=\"language-php\">php artisan make:controller\n\nUserController<\/code><\/pre>\n<p>Dit commando maakt een <strong>UserController.php<\/strong> bestand in de <strong>app\/Http\/Controllers<\/strong> map.<\/p>\n<p>Definieer nu een <code>store<\/code> methode om data die het store eindpunt binnenkomen te valideren voordat ze worden opgeslagen.<\/p>\n<p>Dit voorbeeld zal de volgende velden valideren met behulp van deze regels:<\/p>\n<ul>\n<li><strong>email<\/strong> &#8211; Moet uniek zijn, een geldig e-mailadres, en moet verplicht zijn<\/li>\n<li><b>password <\/b>&#8211; Moet een minimale lengte hebben, bevestiging van het wachtwoord, en moet verplicht zijn<\/li>\n<li><b>age <\/b>&#8211; Moet een getal zijn en moet verplicht zijn<\/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>Met de regel <code>confirmed<\/code> kun je een bepaald veld tweemaal verplichten om te controleren of de data juist zijn, zoals gebruikers die hun wachtwoord opnieuw invoeren tijdens de registratie. Deze regel vereist een veld genaamd <code>password_confirmation<\/code>, waarvan de data moeten overeenkomen met het <strong>password <\/strong>veld.<\/p>\n<h3>Foutmeldingen weergeven<\/h3>\n<p>Als aan de validatiecriteria is voldaan, loopt je code normaal door. Als de validatie mislukt, wordt een <code>IlluminateValidationValidationException<\/code> uitzondering gegeven, en wordt de juiste foutmelding teruggegeven.<\/p>\n<p>Het voorbeeld is gebaseerd op een API, die een <code>422 Unprocessable Entity<\/code> HTTP antwoord geeft in JSON format. Voor webapplicaties zou het doorverwijzen naar de vorige URL om de foutmelding weer te geven, en de verzoekdata naar de sessie te flitsen.<\/p>\n<p>Je kunt de variabele <code>$errors<\/code> gebruiken in je views om geretourneerde fouten weer te geven:<\/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>Je kunt er ook voor kiezen om alleen de eerste fout weer te geven of door te loopen om ze allemaal te bekijken.<\/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>Formulieren opnieuw vullen<\/h3>\n<p>Het opnieuw invullen van formulieren bespaart gebruikers het overtypen van informatie, zodat ze zich kunnen concentreren op het oplossen van de fout. In het voorbeeld van een falend e-mailadres kun je de rest van het formulier opnieuw vullen door de oude waarde voor het veld <code>name<\/code> te callen.<\/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>Deze regel zou <code>null<\/code> teruggeven als er geen eerdere invoer was.<\/p>\n<h2>Geavanceerde validatie<\/h2>\n<p>Laravel biedt een andere methode om validaties te schrijven, genaamd form requests. Een form request is een aangepaste request klasse die validaties organiseert en je controller inricht.<\/p>\n<p>Ze hebben hun eigen validatie- en autorisatielogica die geschikt is voor grote input-hoeveelheden en kunnen worden gebruikt om validatieregels te defini\u00ebren en foutmeldingen te customizen.<\/p>\n<p>Om een form request te maken voer je dit Artisan commando uit:<\/p>\n<pre><code class=\"language-php\">php artisan make:request StoreUserRequest<\/code><\/pre>\n<p>Dit commando maakt een <strong>StoreUserRequest.php<\/strong> bestand aan in de <strong>app\/Http\/Requests<\/strong> map en bevat twee standaard methodes:<\/p>\n<ul>\n<li><code>rules<\/code> retourneert validatieregels voor request data.<\/li>\n<li><code>authorize<\/code> geeft een boolean terug om aan te geven of die gebruiker toestemming heeft om de gevraagde actie uit te voeren.<\/li>\n<\/ul>\n<p>Converteer het vorige voorbeeld naar een form request.<\/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>Om de foutmeldingen van deze regels aan te passen, kun je de methode messages in de klasse <code>FormRequest<\/code> overschrijven.<\/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>Opmerking:<\/strong> De datanaam en de validatieregel worden gescheiden door een punt (.) v\u00f3\u00f3r de berichtdata.<\/p>\n<h2>Aangepaste validatie<\/h2>\n<p>Om aangepaste validatie te maken, kun je een <code>Validator<\/code> facade gebruiken in plaats van <code>validate<\/code>. De validator instance bevat twee argumenten: de te valideren data en een array van validatieregels. Deze twee argumenten worden doorgegeven aan de methode <code>::make<\/code> op de validator facade, die een nieuwe validator instance genereert.<\/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>Als je een automatische direct wilt toevoegen, kun je de methode <code>validate<\/code> uitvoeren op een reeds bestaande validatorinstantie. Als de validatie mislukt, produceert een XHR verzoek een JSON respons met <code>422 Unprocessable Entity<\/code> als statuscode, of de gebruiker wordt onmiddellijk doorgestuurd.<\/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>Je kunt je foutmeldingen ook aanpassen door een derde argument genaamd <code>messages<\/code> door te geven aan <code>Validate::make method<\/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>Opmerking:<\/strong> De <code>:attribute<\/code> wordt vervangen door de naam van het te valideren veld.<\/p>\n\n<h2>Samenvatting<\/h2>\n<p>Datavalidatie is cruciaal om je dataset schoon, juist en volledig te houden. Met datavalidatie kun je fouten in je data elimineren die je project kunnen beschadigen of anderszins be\u00efnvloeden. Validatie wordt steeds belangrijker als je op grote schaal en met grote hoeveelheden data werkt.<\/p>\n<p>Laravel maakt tal van flexibele benaderingen mogelijk om de integriteit en nauwkeurigheid te waarborgen van de data die door je applicatie gaan. Je kunt ingewikkelde validatielogica realiseren met standaard en aanpasbare methoden, waardoor je codebase goed gestructureerd en gemakkelijker herbruikbaar wordt.<\/p>\n<p><a href=\"https:\/\/sevalla.com\/application-hosting\/\">Ship je Laravel apps sneller<\/a> met Kinsta&#8217;s Applicatie Hosting diensten.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Meer dan ooit tevoren is het cruciaal dat de data in je applicaties gevalideerd en nauwkeurig zijn, en voldoen aan alle systeemeisen. Het gaat immers om &#8230;<\/p>\n","protected":false},"author":199,"featured_media":52407,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_kinsta_gated_content":false,"_kinsta_gated_content_redirect":"","footnotes":""},"tags":[],"topic":[866],"class_list":["post-52406","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>Datavalidatie in Laravel: Handig en krachtig - Kinsta\u00ae<\/title>\n<meta name=\"description\" content=\"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.\" \/>\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\/nl\/blog\/laravel-validatie\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Datavalidatie in Laravel: Handig en krachtig\" \/>\n<meta property=\"og:description\" content=\"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/\" \/>\n<meta property=\"og:site_name\" content=\"Kinsta\u00ae\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\" \/>\n<meta property=\"article:published_time\" content=\"2023-05-09T13:55:57+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2023-11-15T14:04:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/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=\"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg\" \/>\n<meta name=\"twitter:creator\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:site\" content=\"@Kinsta_NL\" \/>\n<meta name=\"twitter:label1\" content=\"Geschreven door\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jeremy Holcombe\" \/>\n\t<meta name=\"twitter:label2\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/\"},\"author\":{\"name\":\"Jeremy Holcombe\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\"},\"headline\":\"Datavalidatie in Laravel: Handig en krachtig\",\"datePublished\":\"2023-05-09T13:55:57+00:00\",\"dateModified\":\"2023-11-15T14:04:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/\"},\"wordCount\":1147,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg\",\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/\",\"url\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/\",\"name\":\"Datavalidatie in Laravel: Handig en krachtig - Kinsta\u00ae\",\"isPartOf\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg\",\"datePublished\":\"2023-05-09T13:55:57+00:00\",\"dateModified\":\"2023-11-15T14:04:50+00:00\",\"description\":\"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.\",\"breadcrumb\":{\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg\",\"width\":3042,\"height\":1521,\"caption\":\"Datavalidatie in Laravel: Handig en krachtig\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/kinsta.com\/nl\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Laravel\",\"item\":\"https:\/\/kinsta.com\/nl\/onderwerpen\/laravel\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Datavalidatie in Laravel: Handig en krachtig\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/kinsta.com\/nl\/#website\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"name\":\"Kinsta\u00ae\",\"description\":\"Snelle, veilige, premium hostingoplossingen\",\"publisher\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/kinsta.com\/nl\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/kinsta.com\/nl\/#organization\",\"name\":\"Kinsta\",\"url\":\"https:\/\/kinsta.com\/nl\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"contentUrl\":\"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg\",\"width\":500,\"height\":500,\"caption\":\"Kinsta\"},\"image\":{\"@id\":\"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/\",\"https:\/\/x.com\/Kinsta_NL\",\"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\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21\",\"name\":\"Jeremy Holcombe\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/jeremyholcombe\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Datavalidatie in Laravel: Handig en krachtig - Kinsta\u00ae","description":"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.","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\/nl\/blog\/laravel-validatie\/","og_locale":"nl_NL","og_type":"article","og_title":"Datavalidatie in Laravel: Handig en krachtig","og_description":"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.","og_url":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/","og_site_name":"Kinsta\u00ae","article_publisher":"https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","article_published_time":"2023-05-09T13:55:57+00:00","article_modified_time":"2023-11-15T14:04:50+00:00","og_image":[{"width":3042,"height":1521,"url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg","type":"image\/jpeg"}],"author":"Jeremy Holcombe","twitter_card":"summary_large_image","twitter_description":"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.","twitter_image":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg","twitter_creator":"@Kinsta_NL","twitter_site":"@Kinsta_NL","twitter_misc":{"Geschreven door":"Jeremy Holcombe","Geschatte leestijd":"7 minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#article","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/"},"author":{"name":"Jeremy Holcombe","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21"},"headline":"Datavalidatie in Laravel: Handig en krachtig","datePublished":"2023-05-09T13:55:57+00:00","dateModified":"2023-11-15T14:04:50+00:00","mainEntityOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/"},"wordCount":1147,"commentCount":0,"publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg","inLanguage":"nl-NL","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/","url":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/","name":"Datavalidatie in Laravel: Handig en krachtig - Kinsta\u00ae","isPartOf":{"@id":"https:\/\/kinsta.com\/nl\/#website"},"primaryImageOfPage":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage"},"image":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage"},"thumbnailUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg","datePublished":"2023-05-09T13:55:57+00:00","dateModified":"2023-11-15T14:04:50+00:00","description":"Laravel validatie zorgt ervoor dat data in je applicaties geldig en nauwkeurig zijn, aan alle systeemeisen voldoen en krachtig en overzichtelijk zijn.","breadcrumb":{"@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#primaryimage","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/05\/laravel-validation.jpg","width":3042,"height":1521,"caption":"Datavalidatie in Laravel: Handig en krachtig"},{"@type":"BreadcrumbList","@id":"https:\/\/kinsta.com\/nl\/blog\/laravel-validatie\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/kinsta.com\/nl\/"},{"@type":"ListItem","position":2,"name":"Laravel","item":"https:\/\/kinsta.com\/nl\/onderwerpen\/laravel\/"},{"@type":"ListItem","position":3,"name":"Datavalidatie in Laravel: Handig en krachtig"}]},{"@type":"WebSite","@id":"https:\/\/kinsta.com\/nl\/#website","url":"https:\/\/kinsta.com\/nl\/","name":"Kinsta\u00ae","description":"Snelle, veilige, premium hostingoplossingen","publisher":{"@id":"https:\/\/kinsta.com\/nl\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/kinsta.com\/nl\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/kinsta.com\/nl\/#organization","name":"Kinsta","url":"https:\/\/kinsta.com\/nl\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/","url":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","contentUrl":"https:\/\/kinsta.com\/nl\/wp-content\/uploads\/sites\/7\/2023\/12\/kinsta-logo.jpeg","width":500,"height":500,"caption":"Kinsta"},"image":{"@id":"https:\/\/kinsta.com\/nl\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Kinsta-Nederland-476213452787823\/","https:\/\/x.com\/Kinsta_NL","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\/nl\/#\/schema\/person\/4eee42881d7b5a73ebb4f58dd5223b21","name":"Jeremy Holcombe","image":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/kinsta.com\/nl\/#\/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\/nl\/blog\/author\/jeremyholcombe\/"}]}},"acf":[],"_links":{"self":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/52406","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/comments?post=52406"}],"version-history":[{"count":9,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/52406\/revisions"}],"predecessor-version":[{"id":56575,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/posts\/52406\/revisions\/56575"}],"alternate":[{"embeddable":true,"hreflang":"en","title":"English","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/en"},{"embeddable":true,"hreflang":"it","title":"Italian","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/it"},{"embeddable":true,"hreflang":"pt","title":"Portuguese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/pt"},{"embeddable":true,"hreflang":"fr","title":"French","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/fr"},{"embeddable":true,"hreflang":"de","title":"German","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/de"},{"embeddable":true,"hreflang":"ja","title":"Japanese","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/jp"},{"embeddable":true,"hreflang":"nl","title":"Dutch","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/nl"},{"embeddable":true,"hreflang":"es","title":"Spanish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/es"},{"embeddable":true,"hreflang":"sv","title":"Swedish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/se"},{"embeddable":true,"hreflang":"da","title":"Danish","href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/translations\/dk"},{"href":"https:\/\/kinsta.com\/nl\/wp-json\/kinsta\/v1\/posts\/52406\/tree"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media\/52407"}],"wp:attachment":[{"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/media?parent=52406"}],"wp:term":[{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/tags?post=52406"},{"taxonomy":"topic","embeddable":true,"href":"https:\/\/kinsta.com\/nl\/wp-json\/wp\/v2\/topic?post=52406"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}