Laravel 6 验证:规则数量有限制吗?
Laravel 6 validation: there is limit in number of rules?
我正在使用 Laravel 6.13.1。
我有以下验证
$validator = Validator::make($request->all(), [
'name' => 'required|max:100',
'email' => 'required|email',
'mobile_number' => 'required',
'date_of_birth' => 'required',
'address' => 'required',
'category' => 'required',
'other_category' => 'required_if:category,==,Others',
'sub_caste' => 'required',
'photo' => 'required',
'status' => 'required|integer',
'father_name' => 'required',
'father_occupation' => 'required',
]);
if ($validator->fails()) {
return back()->withErrors($validator)->withInput();
}
它有 12 条规则并且有效。如果我再添加一条规则,验证器将停止工作。
{{$errors}} 在视图文件中给出一个空数组。
编辑 1:具有 12 条规则的验证会显示所有错误消息,但如果我再添加一个验证,例如
$validator = Validator::make($request->all(), [
'name' => 'required|max:100',
'email' => 'required|email',
'mobile_number' => 'required',
'date_of_birth' => 'required',
'address' => 'required',
'category' => 'required',
'other_category' => 'required_if:category,==,Others',
'sub_caste' => 'required',
'photo' => 'required',
'status' => 'required|integer',
'father_name' => 'required',
'father_occupation' => 'required',
'mother_name' => 'required',
]);
然后没有错误消息。 {{$errors}} 是一个空数组。
在我看来,我正在使用以下代码列出错误
@if (count($errors) > 0)
<div class="alert alert-danger">
<ul>
@foreach ($errors->all() as $error)
<li>{{ $error }}</li>
@endforeach
</ul>
</div>
@endif
编辑 2:我在 Laravel 5.5 上尝试了相同的验证,并且缩进效果很好。
我认为它没有限制,但是您可以创建一个请求并像这样对其进行所有验证:
php artisan make:request UserRequest
你可以看看这个linkForm Request Validation
我遇到了同样的问题,并在某处发现这可能是由错误消息的大小引起的。我已将 SESSION_DRIVER env 选项从 "cookie" 更改为 "file",它起作用了!
我正在使用 Laravel 6.13.1。
我有以下验证
$validator = Validator::make($request->all(), [
'name' => 'required|max:100',
'email' => 'required|email',
'mobile_number' => 'required',
'date_of_birth' => 'required',
'address' => 'required',
'category' => 'required',
'other_category' => 'required_if:category,==,Others',
'sub_caste' => 'required',
'photo' => 'required',
'status' => 'required|integer',
'father_name' => 'required',
'father_occupation' => 'required',
]);
if ($validator->fails()) {
return back()->withErrors($validator)->withInput();
}
它有 12 条规则并且有效。如果我再添加一条规则,验证器将停止工作。
{{$errors}} 在视图文件中给出一个空数组。
编辑 1:具有 12 条规则的验证会显示所有错误消息,但如果我再添加一个验证,例如
$validator = Validator::make($request->all(), [
'name' => 'required|max:100',
'email' => 'required|email',
'mobile_number' => 'required',
'date_of_birth' => 'required',
'address' => 'required',
'category' => 'required',
'other_category' => 'required_if:category,==,Others',
'sub_caste' => 'required',
'photo' => 'required',
'status' => 'required|integer',
'father_name' => 'required',
'father_occupation' => 'required',
'mother_name' => 'required',
]);
然后没有错误消息。 {{$errors}} 是一个空数组。
在我看来,我正在使用以下代码列出错误
@if (count($errors) > 0) <div class="alert alert-danger"> <ul> @foreach ($errors->all() as $error) <li>{{ $error }}</li> @endforeach </ul> </div> @endif
编辑 2:我在 Laravel 5.5 上尝试了相同的验证,并且缩进效果很好。
我认为它没有限制,但是您可以创建一个请求并像这样对其进行所有验证:
php artisan make:request UserRequest
你可以看看这个linkForm Request Validation
我遇到了同样的问题,并在某处发现这可能是由错误消息的大小引起的。我已将 SESSION_DRIVER env 选项从 "cookie" 更改为 "file",它起作用了!