【问题标题】:How to show Validation error for input array? [duplicate]如何显示输入数组的验证错误? [复制]
【发布时间】:2018-11-12 17:51:33
【问题描述】:

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

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

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

【问题讨论】:

  • @Akintunde-Rotimi,我最初尝试过相同的方法但不起作用,它在 CodeIgniter 中运行良好。
  • @BhargavChudasama:感谢您的链接,但我没有得到这个,为什么他在中间包含一个刀片文件,我是 laravel 的新手。

标签: php laravel validation laravel-5


【解决方案1】:

你应该试试这个:

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

更新答案

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

【讨论】:

  • @Saurabh:如果我的回答对你有用,那么请接受我的回答
  • 它显示“开始时间必须至少有10个项目。”。当我将“start_time”=>“required|array|min:10”更改为“start_time”=>“required|array|min:1”时,它没有显示任何错误。感谢您再次回复。
  • 先生您好,请回复。
【解决方案2】:

你的规则必须是这样的:

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

【讨论】:

  • @Saurabh 如果你给我看你的dd 中的request()-&gt;all() 会很有帮助
  • 现在我正在提交空白表单,我希望收到验证错误消息。但我为您提供dd 的字段我需要显示错误验证消息,"start_time" =&gt; array:2 [▶] 在展开“start_time”后,array:2 [▼ 0 =&gt; "12:10" 1 =&gt; "04:25" ]
  • @Saurabh 你确定你根据 laravel doc 正确显示错误:laravel.com/docs/5.7/validation
  • @Saurabh 我测试了你的情况,没有问题。您可以在我更新的答案中看到它。所以也许你应该给我更多关于你的视图和控制器的细节来找到你的问题。
猜你喜欢
  • 2020-02-10
  • 2016-08-31
  • 1970-01-01
  • 2015-04-04
  • 1970-01-01
  • 1970-01-01
  • 2018-03-14
  • 2020-03-10
  • 1970-01-01
相关资源
最近更新 更多