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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何显示输入数组的验证错误?相关的知识,希望对你有一定的参考价值。

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

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

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

答案

你应该试试这个:

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

更新的答案

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

你的规则必须是这样的:

'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.

以上是关于如何显示输入数组的验证错误?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 中输入所有数组并在字段下方显示验证错误

使用验证插件 jquery 验证输入数组 - 显示每个输入的错误

Vuejs Laravel 验证输入数组

如何在 Vue.js 中显示错误数组?使用 Laravel 进行后端验证

React Native - 如何正确验证文本输入?

角度材料 - mat-error 不显示输入字段的错误消息