如何显示输入数组的验证错误?

问题描述 投票:0回答:2

我们如何在LARAVEL中显示验证错误消息,其中输入数组为:

<input type="text" name="start_time[]" class="form-control start_time" value="" >

因为,start_time => 'required',在这里不起作用

php laravel validation laravel-5
2个回答
1
投票

你应该试试这个:

$validator = Validator::make($request->all(), [
    "start_time.*"  => "required",
]);

更新的答案

$validator = $request->validate([
    "start_time"    => "required|array|min:10",
    "start_time.*"  => "required",
]);

0
投票

你的规则必须是这样的:

'start_time.*' => 'required'

我用以下细节测试了你的情况,一切正常。

观点:

<form action="{{ route('test.store') }}" method="post">
    {{ csrf_field() }}

    <input type="text" name="start_time[]" class="form-control start_time" value="" >

    <input type="text" name="start_time[]" class="form-control start_time" value="" >

    <button type="submit" class="btn btn-primary">Submit</button>
</form>

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

控制器:

public function store(Request $request)
{
    $request->validate([
        'start_time.*' => 'required'
    ]);

表单为空时出错:

The start_time.0 field is required.
The start_time.1 field is required.
© www.soinside.com 2019 - 2024. All rights reserved.