2017-08-08 112 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