2013-07-12 1 views
2

는 내가 컨트롤러에 오류 메시지를 보여주는 시도했지만 작동하지 않습니다,하지만 난 dd을하려고 할 때, 그것은표시 방법 확인 메시지 Laravel in Controller?

내 코드가 작동합니다

if ($validation->fails()) 
{ 
    /*Doesnt Work 
    foreach ($validation->fails() as $messages) { 
     $messages // Doesnt Work 
    } 
    */ 
    dd($validation->errors); //This Is works 
} 

답변

1

$validation->fails()가 있는지 여부의 부울을 반환 또는 입력이 유효성 검증을 통과했는지 여부. $validation->messages()에서 유효성 검사 메시지에 액세스하거나 $errors 변수에 바인딩 될보기로 전달할 수 있습니다.

validator docs을 참조하십시오.

+0

내 방법을 말해 줄 수 있습니까? 내가보기에 그들을 전달하고 싶지 않아 –

+0

귀하의 컨트롤러에서 유효성 검사 메시지를 반복 할 수 있습니다 :'foreach ($ validation-> messages() $ message) {/ ** /}' – Dwight

4

여기 제공된 예제는 실제로 작동하지 않습니다. 그래서 여기에 간다. 이것은 "validator-> messages()"가 검색 할 수없는 보호 된 객체를 반환한다는 것을 깨닫고 나서 발견 된 해결책이었습니다. 내가 참조 할 것

if ($validator->fails()) 
{ 
    foreach ($validator->messages()->getMessages() as $field_name => $messages) 
    { 
     var_dump($messages); // messages are retrieved (publicly) 
    } 

} 

: 무엇을 "메시지()"반환 http://laravel.com/api/source-class-Illuminate.Support.MessageBag.html

MessageBag. 그리고 Validator 클래스에 대한 추가 승인을 위해 - 참조 : http://laravel.com/api/class-Illuminate.Validation.Validator.html

0

이것은 제가 숙련공 5.0 콘솔 명령에서 인수의 유효성을 검사하기 위해 방금 사용한 것입니다. 이것은 fire() 방법입니다 : 이것은 @tfont

의 대답에 확장이

// Create the validator. 
    $validator = Validator::make(
     $this->argument(), 
     ['field1' => 'required|other|rules'] 
    ); 

    // Validate the arguments. 
    if ($validator->fails()) 
    { 
     // Failed validation. 

     // Each failed field will have one or more messages. 
     foreach($validator->messages()->getMessages() as $field_name => $messages) { 
      // Go through each message for this field. 
      foreach($messages AS $message) { 
       $this->error($field_name . ': ' . $message); 
      } 
     } 

     // Indicate the command has failed. 
     return 1; 
    } 

당신은 메시지가 전송되는 위치를 변경해야 할 수도 있습니다

($this->error())이 명령은로 실행되고 있지 않은 경우 콘솔 명령, 즉 CLI, 명령 행.