2013-08-06 4 views
0

У меня есть контроллер, который проверяет некоторые входные и при сбое проверки она передает ошибки на мой взгляд:Laravel 4 Отображение пользовательских дружелюбные ошибки проверки

public function updateAccount(){ 

    $user   = Auth::user(); 
    $validation = User::validateAccount(Input::all()); 

    if($validation->passes()){ 

     $user->fill(Input::all()); 
     $user->save(); 
     return Redirect::back(); 

    } else { 

     return Redirect::back() 
      ->withErrors($validation) 
      ->withInput(); 

    } 
} 

Код для пользователя :: validateAccount(); выглядит следующим образом:

public static function validateAccount($input){ 
    $rules = [ 
     'website' => 'url' 
    ]; 
    $validation = Validator::make($input, $rules); 
    return $validation; 
} 

На мой взгляд, я показываю ошибки, как это:

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

Однако, вместо того, чтобы по умолчанию, выход для пользователя ошибки я получаю это. Для ошибки проверки URL отображается:

validation.url

Как получить Laravel для отображения по умолчанию, дружественные пользовательские сообщения об ошибках, которые настроены на приложение/языки/EN/validation.php ?

Так что для ошибки URL это должно быть:

"The :attribute format is invalid." 
+0

Можете ли вы про просмотрите свой код для User :: validateAccount(); –

+0

Добавлен код для пользователя :: validateAccount(); к моему оригинальному сообщению. –

ответ

1

Вы должны define the custom message.

Изменить

public static function validateAccount($input){ 
    $rules = [ 
     'website' => 'url' 
    ]; 
    $validation = Validator::make($input, $rules); 
    return $validation; 
} 

в

public static function validateAccount($input){ 
    $messages = [ 'url' => 'You must give a valid url']; 
    $rules = [ 'website' => 'url' ]; 
    $validation = Validator::make($input, $rules, $messages); 
    return $validation; 
} 

ИЛИ

Вы можете добавить это приложение/языки/EN/validation.php файл:

'custom' => array(
    'website' => array(
     'url' => 'You must give a valid url', 
    ), 
), 
Смежные вопросы