2017-08-08 111 views
2

我有这样一个validate:显示验证消息Laravel 5.4

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 

我有2个问题:

我怎么能准确显示错误消息,我有2条规则,但它总是显示第一条规则的消息。当我尝试输入1个字符时,它仍然显示所需的消息。

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

请帮助我,非常感谢!

回答

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

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

  1. 如何使用langs文件,所以我不需要将消息放入请求文件。

您可以找到本地化详细信息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.", 
    ]; 
} 
+0

韩国社交协会,但我试图进入1个字符,我认为它传递的第一条规则(必需规则)。它没有显示seconde规则(最小规则)? –

+0

你可以注释掉TitleRequest.php上的messages()方法吗?让我看看会发生什么 –

+0

我试过这个,它的工作原理:D 'title_name_report.required'=> __('validation.corporate_master.title_name_report.required'), –

1

你可以显示所有验证错误:

@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 fil E在此格式:

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

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

+1

tks为您的支持,我跟着你的指导,它工作:)! –

+1

好运好友 – MisaGH