显示验证消息Laravel 5.4

时间:2017-08-08 03:08:39

标签: php laravel laravel-5

我有这样的验证:

TitleRequest.php:

public function rules()
{
    return [
        'title_name_report' => 'required|min:2',
        'develop_code' => 'required',
    ];
}

public function messages()
{
    return [
        'title_name_report.required',
        'title_name_report.min',
        'develop_code.required'
    ];
}

郎/ VI / validation.php。

'title_name_report.required'=>"Please enter, :attribute !",
'title_name_report.min'=>"Min length is :attribute",
'develop_code.required'=>"Please enter :attribute !",

'custom' => [
    'attribute-name' => [
        'rule-name' => 'custom-message',
    ],
],

'attributes' => [],

视图/ title.blade.php

<input type="text" class="form-control" id="title_name_report" name="title_name_report" 
        value="{{old('title_name_report')}}">
    @if($errors->has('title_name_report'))
        <div class="error-text">
            {{$errors->first('title_name_report')}}
        </div>
    @endif

我有两个问题:

1。如何准确显示错误消息,我有2条规则,但它始终显示第一条规则的消息。当我尝试输入1个字符时,它仍然显示所需的消息。

2. 我如何使用langs文件,因此我不需要将消息放入请求文件中。

请帮助我,非常感谢!

2 个答案:

答案 0 :(得分:3)

您可以使用以下方式显示所有验证错误:

@if ($errors->any())
    <div class="alert alert-danger">
        <ul>
            @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
            @endforeach
        </ul>
    </div>
@endif

将自定义验证消息放在resources/lang/xx/validation.php文件中,格式为:

'custom' => [
    'email' => [
        'required' => 'We need to know your e-mail address!',
    ],
],

更多信息:https://laravel.com/docs/5.4/validation#custom-error-messages

答案 1 :(得分:1)

  1. 如何准确显示错误消息,我有2条规则,但它始终显示第一条规则的消息。当我尝试输入1个字符时,它仍然显示所需的消息。
  2.   

    Laravel只会按顺序验证您的输入。它不会返回   下一个规则的错误消息,直到它没有通过第一个规则。

    1. 如何使用langs文件,因此我不需要将消息放入请求文件中。
    2.   

      您可以找到本地化详情here。它在

      之下      

      /resources/lang/en/validation.php

      如果要更改验证消息tru请求文件,您应该像this

      那样进行更改
      public function messages()
      {
          return [
              'title_name_report.required' => "Title is required.",
              'title_name_report.min'  => "Title should not less than 2.",
              'develop_code.required'  => "Code is required.",
          ];
      }