Я использую laravel 6.10 на windows 7 (x64) сервере Wamp (v 3.2.2.2).
Я проверяю 1 вход массива и 2 ввода текста. Я получаю сообщение об ошибке валидации в блейде, если размер массива 84 или меньше. Если я увеличу размер массива до 85. Я не получаю сообщение об ошибке.
Функция проверки работает так, как она перенаправляет назад, если ввод недействителен, но не показывает сообщение об ошибке, если размер массива больше 85. Если ввод допустим, тогда нет проблем
здесь blade
@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>
Controller
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 ()) Результат в blade-сервере, если размер массива меньше 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 [▶]
]
Это проблема, связанная с веб-сервером или laravel. Пожалуйста, помогите мне решить это. Вот проект на github https://github.com/mhabib555/LaravelMultipleInputWithSameNameValidation
Размещено на живом сервере http://mhtest00001.herokuapp.com/form