【发布时间】:2020-11-25 12:27:59
【问题描述】:
)
我一直在为我的 Laravel 应用程序设计一个表单...... 我有 3 个字段是复选框,因此作为数组发布,然后我有一个 textarea 字段,有时 3 个复选框输入中的一个会被来自 textarea 输入字段的数据淹没......这很奇怪,只会在某个时候发生因此我在数据库中得到一个长截断错误的数据...
但是我在 $request 级别添加了输入,并且可以看到复选框中的数组已经被来自 textarea 字段的数据淹没了......我无法理解为什么会这样,因为它只是有时... 而且我什至可以得到错误并返回浏览器中的页面并再次提交所有相同的数据,然后它就可以工作了.. 什么会导致这种奇怪的行为
这是我的表单所在的 Laravel 刀片
@extends('layouts.app')
@section('head')
@endsection
@section('content')
@php
// dd($errors);
@endphp
<h2 class="page-title">Opret Artist Side</h2>
<div class="artist-box">
<form class="formgrid" method="POST" action="{{ route('artist.store') }}">
@csrf
<div class="formleft">
<label for="artist_name" class="label">Artist navn</label>
<input type="text" id="artist_name" name="artist_name" class="formitem @error('artist_name') is-invalid @enderror" value="{{ old('artist_name', $post->artist_name ?? null) }}" />
@error('artist_name')
<div class="invalid-feedback">
@foreach($errors->get('artist_name') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="artist_name_help">Jeres band/artist navn. <span class="text-danger">OBS! Kan IKKE ændres</span></small>
@enderror
</div>
<div class="formright">
<label for="contact_person" class="label">Kontakt person</label>
<input type="text" name="contact_person" id="contact_person" class="formitem @error('contact_person') is-invalid @enderror" value="{{ old('contact_person', $post->content ?? null) }}" />
@error('contact_person')
<div class="invalid-feedback">
@foreach($errors->get('contact_person') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="contact_person_help">Kontakt persons navn</small>
@enderror
</div>
<div class="formleft">
<label for="email" class="label">Email</label>
<input type="text" name="email" id="email" class="formitem @error('email') is-invalid @enderror" value="{{ old('email', $post->email ?? null) }}" />
@error('email')
<div class="invalid-feedback">
@foreach($errors->get('email') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="email_help">Kontakt email</small>
@enderror
</div>
<div class="formright">
<label for="phone" class="label">Tlf nummer</label>
<input type="text" name="phone" id="phone" class="formitem @error('phone') is-invalid @enderror" value="{{ old('phone', $post->phone ?? null) }}" />
@error('phone')
<div class="invalid-feedback">
@foreach($errors->get('phone') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="phone_help">Kontakt tlf nummer</small>
@enderror
</div>
<div class="formleft">
<label for="hometown" class="label">Hjemby</label>
<input type="text" name="hometown" id="hometown" class="formitem @error('hometown') is-invalid @enderror" value="{{ old('hometown', $post->hometown ?? null) }}" />
@error('hometown')
<div class="invalid-feedback">
@foreach($errors->get('hometown') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="hometown_help">Jeres Hjemby</small>
@enderror
</div>
<div class="formright">
<label for="category" class="label">Kategori</label>
<select name="category" id="category" class="formitem @error('category') is-invalid @enderror">
{{-- Show a non selectable if with info of none selected --}}
@if(old('category') === null)
<option disabled="disabled" selected value="null">Vælg en kategori</option>
@endif
@foreach($categories as $category)
<option @if(old('category') !== null && old('category') == $category->id) selected @endif value="{{ $category->id }}"
>{{ $category->artist_category }}</option>
@endforeach
</select>
@error('category')
<div class="invalid-feedback">
@foreach($errors->get('category') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="">Hvilken kategori hører i under</small>
@enderror
</div>
<div class="formfull">
<label for="budget" class="label">Budget i spiller for</label>
<ul class="ks-cboxtags">
@foreach($budgets as $budget)
{{-- <div class="form-check form-check-inline"> --}}
<li><input @if(old('budget') !== null && in_array($budget->id,old('budget'))) checked @endif
type="checkbox" name="budget[]" id="budget{{ $budget->id }}" class="form-check-input @error('budget') is-invalid @enderror" value="{{ $budget->id }}" />
<label class="form-check-label" for="budget{{ $budget->id }}">{{ $budget->artist_budget }}</label></li>
{{-- </div> --}}
@endforeach
</ul>
@error('budget')
<div class="invalid-feedback d-block">
@foreach($errors->get('budget') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="budget_help">Vælg hvilket budget i optræder for, gerne flere</small>
@enderror
</div>
{{-- --}}
<div class="formfull">
<label for="genres" class="label">Genre</label>
<ul class="ks-cboxtags">
@foreach($genres as $genre)
{{-- <div class="form-check form-check-inline"> --}}
<li><input @if(old('genres') !== null && in_array($genre->id,old('genres'))) checked @endif
type="checkbox" name="genres[]" id="genres{{ $genre->id }}" value="{{ $genre->id }}" class="form-check-input @error('genres') is-invalid @enderror" />
<label class="form-check-label" for="genres{{ $genre->id }}">{{ $genre->genre }}</label></li>
{{-- </div> --}}
@endforeach
</ul>
@error('genres')
<div class="invalid-feedback d-block">
@foreach($errors->get('genres') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="">Hvike genrer hører i under</small>
@enderror
</div>
{{-- --}}
<div class="formfull">
<label for="area" class="label">Områder hvor i optræder</label>
<ul class="ks-cboxtags">
@foreach($areas as $area)
{{-- <div class="form-check form-check-inline"> --}}
<li><input @if(old('area') !== null && in_array($area->id,old('area'))) checked @endif
type="checkbox" name="area[]" id="area{{ $area->id }}" value="{{ $area->id }}" class="form-check-input @error('area') is-invalid @enderror" />
<label class="form-check-label" for="area{{ $area->id }}">{{ $area->artist_area }}</label></li>
{{-- </div> --}}
@endforeach
</ul>
@error('area')
<div class="invalid-feedback d-block">
@foreach($errors->get('area') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="">Vælg hvilke områder i optræder i</small>
@enderror
</div>
<div class="formleft">
<label for="desc" class="label">Beskriv jer selv</label>
<textarea name="description" id="description" class="formitem @error('description') is-invalid @enderror">{{ old('description', $post->description ?? null) }}</textarea>
{{-- <input id="description" value="{{ old('description', $post->description ?? null) }}" class="form-control @error('description') is-invalid @enderror" name="description" type="hidden">
@trix(\App\ArtistPage::class, 'trixinput',
[
'id' => 'description',
// 'class' => 'form-control',
'hideTools' => ['file-tools'],
'hideButtonIcons' => ['attach', 'link', 'code', 'strike', 'heading-1']
]) --}}
{{-- <input id="desc" value="{{ old('description', $post->description ?? null) }}" type="hidden" name="description">
<trix-editor input="desc" class="@error('description') is-invalid @enderror"></trix-editor> --}}
@error('description')
<div class="invalid-feedback">
@foreach($errors->get('description') as $error)
{{ $error }}
@endforeach
</div>
@else
<small class="text-muted form-text" id="description_help">Giv en god beskrivelse af jer selv og hvad i tilbyder<br>
Tilladte tags er <strong>{{ '<br><b><i><li><ul><ol><hr><strong><p>' }}</strong>
</small>
@enderror
</div>
<button type="submit" class="btn btn-primary">Opret</button>
</form>
</div>
@endsection
另请参阅 $request 上的 DD 转储图像
【问题讨论】: