2014-04-28 2 views
0

저는 Laravel을 처음 사용했기 때문에이 book을 사용했습니다. 예를 들어, 다음과 같은 기본 유효성 검사 오류 메시지가 표시됩니다.Laravel 4는 기본 오류 메시지를 표시하지 않습니다.

  • 사용자 이름 필드는 필수입니다.
  • 이메일 입력란은 필수 항목입니다.
  • 암호 필드는 필수 항목입니다.
을 validation.confirmed validation.min.string

  • validation.email
  • 를이 메시지가 표시되지 않습니다 어떤 이유

대신이이 표시되는 것입니다

기본 오류 메시지가 표시되지 않는 이유는 무엇입니까 ??

이 내 컨트롤러 (나는 일부 사용자 지정 사람을 만들 수 있습니다 알고) : 당신의 오류 메시지가 validation.email를 포함

public function isUserValid($data){ 

    // Build the validation constraint set. 
    $rules = array(
     'email' => 'email|required|unique:users', 
     'password' => 'required|min:5|confirmed' 
    ); 

    // Create a new validator instance. 
    return $validator = Validator::make($data, $rules);  

} 
+0

보기를 표시 할 수 있습니까? – user3158900

답변

2

경우 : 모델에서 사용이 방법을 사용

public function sign_up() 
{ 

    // Fetch all request data. 
    $user = new User; 
    $data = Input::all(); 
    $validator = $user->isUserValid($data); 

    if ($validator->passes()) { 
     $user->email = $data['email']; 
     $user->password = $data['password']; 
     $user->save(); 
     echo('Data was saved.'); 
    }else{ 
     // Collect the validation error messages object. 
     return Redirect::to('/sign-up')->withInput()->withErrors($validator); 
    } 

} 

유효성 검사 현지화의 핵심 인 경우 laravel 앱이로드되지 않았거나 현지화 폴더에 대한 액세스 권한이 없습니다.

app/lang/en을 삭제하지 않았는지 확인하고 모든 기본 유효성 확인 응답을 포함하는 validation.php 파일이 있어야합니다.

또는 set the messages on the fly 일 수도 있지만 현지화 파일 validation.php을 사용하는 것이 좋습니다. 어쨌든이 방법을 사용하십시오.

$messages = array(
    'required' => 'The :attribute field is required.', 
); 

$validator = Validator::make($input, $rules, $messages); 
+1

방금 ​​확인했는데 validation.php가'app/lang/en' 안에 있고 모든 메시지가 있습니다. 나는 app의 언어를 변경하고,'app/config/app.php' 안에 영어로 되돌려 놓았으며 다시 작동한다는 것을 기억했다. 감사! – Mathius17

관련 문제