{"id":27334,"date":"2021-05-05T14:41:00","date_gmt":"2021-05-05T11:41:00","guid":{"rendered":"https:\/\/themewp.inform.click\/?p=27334"},"modified":"2021-10-17T05:14:33","modified_gmt":"2021-10-17T02:14:33","slug":"en-nyborjarguide-for-validering-av-laravel","status":"publish","type":"post","link":"https:\/\/themewp.inform.click\/sv\/en-nyborjarguide-for-validering-av-laravel\/","title":{"rendered":"En nyb\u00f6rjarguide f\u00f6r validering av Laravel"},"content":{"rendered":"<p>N\u00e4r vi bygger en webbplats i Laravel m\u00e5ste vi veta om validering av Laravel. <a href=\"https:\/\/laravel.com\/docs\/5.6\/validation\" target=\"_blank\" rel=\"noopener nofollow\" class=\"external external_icon\">Laravel<\/a> erbjuder ett annat s\u00e4tt att validera dina inkommande data. I den h\u00e4r artikeln studerar vi n\u00e5gra grunder om Laravel Validations.<\/p>\n<p>N\u00e4r vi bygger en applikation b\u00f6r vi anv\u00e4nda valideringar p\u00e5 klientsidan och p\u00e5 serversidan utan att misslyckas. Genom att g\u00f6ra det kan vi skydda v\u00e5r applikation fr\u00e5n on\u00f6diga data. Som ett resultat sparar det oss mycket tid att rensa avfallsdata fr\u00e5n applikationen.<\/p>\n<p>Med detta sagt, l\u00e5t oss ta en titt p\u00e5 hur du till\u00e4mpar Laravel-validering i din ans\u00f6kan.<\/p>\n<p>F\u00f6r v\u00e5r handledning tar vi ett exempelformul\u00e4r som har tv\u00e5 f\u00e4lt titel och beskrivning. Vi kommer att till\u00e4mpa validering och om valideringen misslyckas kommer den att visas enligt v\u00e5r \u00e5sikt.<\/p>\n<h3>Laravel-validering<\/h3>\n<p>F\u00f6r att komma ig\u00e5ng m\u00e5ste vi inkludera nedanst\u00e5ende uttalande i v\u00e5r kontrollerfil.<\/p>\n<p>Placera detta uttalande f\u00f6re start av din controller som nedan.<\/p>\n<pre><code>&lt;?php\n\u00a0\nnamespace AppHttpControllers;\n\u00a0\nuse IlluminateHttpRequest;\nuse Validator;\n\u00a0\nclass PostController extends Controller\n{\n\u00a0\u00a0\u00a0.....\n}<\/code><\/pre>\n<p>Innan du skriver den faktiska valideringskoden kan vi komma till visningsfilen Vi skapar en enkel form med tv\u00e5 f\u00e4lt titel och beskrivning.<\/p>\n<pre><code>&lt;form action=\"{{ url('post') }}\" method=\"post\"&gt;\n\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"exampleInputTitle\"&gt;Post Title&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"title\" id=\"exampleInputTitle\" \/&gt;\n\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;label for=\"exampleInputBody\"&gt;Post Body&lt;\/label&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;textarea class=\"form-control\" name=\"body\" id=\"exampleInputBody\" rows=\"10\"&gt;&lt;\/textarea&gt;\n\u00a0\u00a0&lt;\/div&gt;\n\u00a0\u00a0{{ csrf_field() }}\n\u00a0\u00a0&lt;button type=\"submit\" class=\"btn btn-default\"&gt;Submit&lt;\/button&gt;\n&lt;\/form&gt;<\/code><\/pre>\n<p>N\u00e4r vi skickar in ett formul\u00e4r kommer det att ringa till <code>store()<\/code>metoden f\u00f6r v\u00e5r controller. I ditt fall kanske din metod \u00e4r annorlunda. S\u00e5 i v\u00e5r metod skriver vi valideringskoden enligt f\u00f6ljande.<\/p>\n<pre><code>public function store(Request $request)\n{\n\u00a0\u00a0\u00a0\u00a0$validator = Validator::make($request-&gt;all(), [\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'title' =&gt; 'required|max:255',\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'body' =&gt; 'required',\n\u00a0\u00a0\u00a0\u00a0]);\n\u00a0\n\u00a0\u00a0\u00a0\u00a0if ($validator-&gt;fails()) {\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0return redirect('post\/create')\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;withErrors($validator)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-&gt;withInput();\n\u00a0\u00a0\u00a0\u00a0}\n\u00a0\n\u00a0\u00a0\u00a0\u00a0\/\/safe to proceed form\n}<\/code><\/pre>\n<p>Du kan m\u00e4rka att vi passerade tv\u00e5 nycklar &quot;titel&quot; och &quot;kropp&quot;. Detta \u00e4r namnet p\u00e5 v\u00e5ra formelement. H\u00e4r kontrollerar Laravel om b\u00e5da f\u00e4lten inte \u00e4r tomma och titelf\u00e4lt inte \u00f6verstiger 255 tecken.<\/p>\n<p>Om n\u00e5gon av valideringen misslyckas kommer anv\u00e4ndaren att omdirigera till sidan som vi skickade till en omdirigeringsmetod().<\/p>\n<h3>Visa felmeddelanden i en vy<\/h3>\n<p>Vi har till\u00e4mpat validering p\u00e5 serversidan. L\u00e5t oss nu titta p\u00e5 hur du visar felmeddelanden.<\/p>\n<p>L\u00e5t oss s\u00e4ga att validering misslyckas i v\u00e5rt fall och nu m\u00e5ste vi visa felmeddelanden i v\u00e5rt formul\u00e4r. Det finns tv\u00e5 s\u00e4tt att visa felen i Laravel-vyer. P\u00e5 ett f\u00f6rsta s\u00e4tt kan vi visa alla felmeddelanden tillsammans h\u00f6gst upp i ett formul\u00e4r. F\u00f6r det andra kan man visa det bredvid varje f\u00e4lt som har ett fel.<\/p>\n<p>F\u00f6r att visa felmeddelandet h\u00f6gst upp i formul\u00e4ret, l\u00e4gg till nedanst\u00e5ende kod ovanf\u00f6r formul\u00e4rtaggen.<\/p>\n<pre><code>@if ($errors-&gt;any())\n\u00a0\u00a0\u00a0\u00a0&lt;div class=\"alert alert-danger\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;ul&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@foreach ($errors-&gt;all() as $error)\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;li&gt;{{ $error }}&lt;\/li&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0@endforeach\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/ul&gt;\n\u00a0\u00a0\u00a0\u00a0&lt;\/div&gt;\n@endif<\/code><\/pre>\n<p>Den h\u00e4r koden visar felmeddelandet som visas p\u00e5 sk\u00e4rmdumpen nedan:<\/p>\n<p>F\u00f6r det andra att skriva ut felmeddelandet efter varje f\u00e4lt. I s\u00e5 fall \u00e4r v\u00e5r kod f\u00f6ljande:<\/p>\n<pre><code>&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0&lt;label for=\"exampleInputTitle\"&gt;Post Title&lt;\/label&gt;\n\u00a0\u00a0\u00a0&lt;input type=\"text\" name=\"title\" id=\"exampleInputTitle\" \/&gt;\n\u00a0\u00a0\u00a0@if ($errors-&gt;has('title'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;span class=\"error\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{{ $errors-&gt;first('title') }}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/span&gt;\n\u00a0\u00a0\u00a0@endif\n\u00a0\n&lt;\/div&gt;\n&lt;div class=\"form-group\"&gt;\n\u00a0\u00a0\u00a0&lt;label for=\"exampleInputBody\"&gt;Post Body&lt;\/label&gt;\n\u00a0\u00a0\u00a0&lt;textarea class=\"form-control\" name=\"body\" id=\"exampleInputBody\" rows=\"10\"&gt;&lt;\/textarea&gt;\n\u00a0\u00a0\u00a0@if ($errors-&gt;has('body'))\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;span class=\"error\"&gt;\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0{{ $errors-&gt;first('body') }}\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;\/span&gt;\n\u00a0\u00a0\u00a0@endif\n&lt;\/div&gt;<\/code><\/pre>\n<p>Observera att vi anv\u00e4nder f\u00f6r <code>@if ($errors-&gt;has('title'))<\/code>att kontrollera om &#8217;titel&#8217; -f\u00e4ltet har ett valideringsfel. Om det h\u00e4r felet har fel skriver vi ut det med <code>{{ $errors-&gt;first('title') }}<\/code>. Samma logik som vi anv\u00e4nde f\u00f6r f\u00e4ltet &quot;kropp&quot;. Ta en titt p\u00e5 nedanst\u00e5ende sk\u00e4rmdump av denna typ.<\/p>\n<p>Vi hoppas att du f\u00f6rst\u00e5r hur du anv\u00e4nder Laravel-validering i din ans\u00f6kan. Dela dina tankar i kommentarsektionen nedan.<\/p>\n<h4>relaterade artiklar<\/h4>\n<ul>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/skicka-e-post-via-gmail-smtp-server-i-laravel\/\" title=\"Skicka e-post via Gmail SMTP-server i Laravel\">Skicka e-post via Gmail SMTP-server i Laravel<\/a><\/li>\n<li><a href=\"https:\/\/themewp.inform.click\/sv\/hur-man-installerar-och-anvander-ckeditor-i-laravel\/\" title=\"Hur man installerar och anv\u00e4nder CKEditor i Laravel\">Hur man installerar och anv\u00e4nder CKEditor i Laravel<\/a><\/li>\n<\/ul>\n<p><div id=\"PostUnique_PostSource\" style=\"padding-top: 50px\">Inspelningsk\u00e4lla:  <a target=\"_blank\" rel=\"noopener nofollow\" href=\"\/\/artisansweb.net\" class=\"external external_icon\">artisansweb.net<\/a><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vill du till\u00e4mpa Laravel-validering i din ans\u00f6kan? I den h\u00e4r artikeln studerar vi hur man till\u00e4mpar Laravel-validering p\u00e5 serversidan och visar felmeddelandena i en visningsfil.<\/p>\n","protected":false},"author":1,"featured_media":21749,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_wp_rev_ctl_limit":""},"categories":[503],"tags":[850],"class_list":["post-27334","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-laravel2-10","tag-affiai-sv"],"_links":{"self":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/27334","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/comments?post=27334"}],"version-history":[{"count":0,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/posts\/27334\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media\/21749"}],"wp:attachment":[{"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/media?parent=27334"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/categories?post=27334"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/themewp.inform.click\/sv\/wp-json\/wp\/v2\/tags?post=27334"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}