温馨提示:本文翻译自stackoverflow.com,查看原文请点击:php - Laravel 6 validation: there is limit in number of rules?
laravel laravel-6 php laravel-validation

php - Laravel 6验证:规则数量有限制吗?

发布于 2020-04-07 11:50:04

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

查看更多

提问者
Joyal
被浏览
15
mahmoud salem 2020-02-01 08:47

我认为它没有限制,但是您可以创建一个请求,并像下面那样对所有验证:

php artisan make:request UserRequest

您可以查看此链接表格申请验证