【发布时间】:2020-01-14 13:51:11
【问题描述】:
https://github.com/laravel/framework/issues/31123 的副本
- Laravel 版本:6.8.0 ,6.10.1
- PHP 版本:7.4
- 来自https://github.com/caouecs/Laravel-lang 的语言
说明:
对于某些语言,当验证错误太多时,错误不会显示在刀片中(不在会话中发送)
语言示例:ru(不显示 >=6 错误)、si(不显示 >=8 错误)在我的代码中。
复制步骤:
新的 laravel 6 应用 + https://github.com/caouecs/Laravel-lang
conf/app.php
locale' => 'ru',
// locale' => 'si',
查看:
@extends('layouts.app')
@section('content')
<div class="container">
@if ($errors->any())
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
<form class="form" method="post" action="{{route('testvalid')}}">
@csrf
<input class="form-control" name="field1" />
<input class="form-control" name="field2" />
<input class="form-control" name="field3" />
<input class="form-control" name="field4" />
<input class="form-control" name="field5" />
<input class="form-control" name="field6" />
<input class="form-control" name="field7" />
<input class="form-control" name="field8" />
<input class="form-control" name="field9" />
<input class="form-control" name="field10" />
<input class="form-control" name="field11" />
<input type="submit" class="btn btn-primary">
</form>
</div>
@endsection
行动:
public function testvalidpost(Request $request){
$request->validate([
'field1'=>['required'],
'field2'=>['required'],
'field3'=>['required'],
'field4'=>['required'],
'field5'=>['required'],
'field6'=>['required'],
'field7'=>['required'],
'field8'=>['required'],
'field9'=>['required'],
'field10'=>['required'],
'field11'=>['required'],
]);
echo ok;
}
【问题讨论】:
-
我相信您的验证应该是
validate(['field1' => 'required']);而不是validate(['field1' => ['required']]); -
@RobBiermann 验证有效。会话不工作,当许多错误。以及它在相同语言上的错误。 En lang - 工作,si lang - 不工作。
-
@RobBiermann laravel 验证支持规则中的数组。它不是代码错误。