【发布时间】:2020-04-28 18:22:37
【问题描述】:
我在 Windows 7 (x64) wamp 服务器 (v 3.2.2.2) 上使用 laravel 6.10。
我正在验证 1 个数组输入和 2 个文本输入。如果数组大小为 84 或小于该值,我会在刀片中收到验证错误消息。如果我将数组大小增加到 85。我没有收到任何错误消息。
验证功能会在输入无效时重定向回来,但如果数组大小大于 85,则不会显示错误消息。如果输入有效,则没有问题
这是刀片
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<div class="flex-center position-ref full-height">
<form method="post" action="{{url('form')}}" id="infoForm" >
@csrf
<input type="text" class="form-control" name="name" placeholder="Section A" value="{{ old('name') }}">
<input type="text" class="form-control" name="king" placeholder="Section A" value="{{ old('king') }}">
@for($i=0;$i<85;$i++)
<input type="hidden" name="test[]" value="{{$i}}">
@endfor
<button type="submit">Submit</button>
</form>
</div>
控制器
public function store(Request $request)
{
$validatedData = $request->validate([
'name' => 'bail|required',
'king' => 'bail|required',
'test.*' => 'required'
]);
dd('test');
return redirect('form')->with('success', 'Information has been added');
}
@dd(session()->all()) 如果数组大小小于 84,则返回刀片
array:4 [▼
"_token" => "s3kZaeGmEI9C7lNcH8mDLnzU0KNcXkO9luPeIzQa"
"_flash" => array:2 [▶]
"_old_input" => array:4 [▶]
"errors" => Illuminate\Support\ViewErrorBag {#246 ▶}
]
@dd(session()->all()) 如果数组大小大于 84,则返回刀片
array:3 [▼
"_token" => "HjFH5QBSYaqnBAx8QG6PEGiIObueWYr6AjpVPolZ"
"_previous" => array:1 [▶]
"_flash" => array:2 [▶]
]
这是与 Web 服务器相关的问题还是与 laravel 相关的问题。请帮我解决它。 这是github上的项目 https://github.com/mhabib555/LaravelMultipleInputWithSameNameValidation
【问题讨论】:
标签: php arrays laravel laravel-6 laravel-validation