繁体   English   中英

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 上尝试了相同的验证,并且缩进效果很好。

我遇到了同样的问题,并在某处发现这可能是由错误消息的大小引起的。 我已经将 SESSION_DRIVER env 选项从“cookie”更改为“file”并且它起作用了!

我不认为它有限制,但是您可以创建一个请求并将所有验证放在上面:

php artisan make:request UserRequest

您可以查看此链接 表单请求验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM