2011-03-08 5 views
3

의견 양식을 표시하는 요소가 있는데 조치는 설명/추가입니다. 양식의 유효성을 검사하지 않으면 사용자가 주석/추가 (보기가 존재하지 않음)로 이동하는 것을 원하지 않지만 동일한 페이지에 그대로두고 유효성 검사 오류를 확인하기를 원합니다.리디렉션 후 유효성 검사 오류를 보존하는 CakePHP

그러나 $ this-> referer()로 리디렉션되지 않습니다. 유효성 검사 오류가 사라지고 플래시 메시지 만 남습니다.

public function add(){ 
    if (!empty($this->data)){ 
     $this->Comment->create(); 
     if ($this->Comment->save($this->data)){ 
      $this->Session->setFlash('Comment added.','success'); 
      $this->redirect($this->referer()); 
     }else{ 
      $this->Session->setFlash('There was a problem adding your comment. Please try again.','failure'); 
     } 
    } 
} 

어떻게하면 리디렉션시 유효성 검사 오류와 양식 데이터를 보존 할 수 있습니까? 이것이 가능하지 않다면 어떻게하면 문제를 해결할 수 있습니까?

덕분에 많이,

답변

0

그냥 $ this-> 리디렉션 ($ this-> 리퍼러를())를 제거하십시오; 전부.

필드 유효성 검사를 올바르게 설정 한 경우 사용자가 어떻게 리디렉션에 도달합니까? 유효하지 않은 데이터가 입력되고 사용자가 리디렉션을 보지 못할 경우 save() 함수가 실패해야하며 db는 데이터를 허용하지 않습니다.

+1

죄송합니다. 코드를 잘못 복사했습니다. $ this-> redirect ($ this-> referer()); if/else 문 뒤에 있습니다. 그 줄을 지우면 Cake가 주석/추가에 대한보기를 표시하려고하는데, 내가 말한 것처럼 그것은 존재하지 않는다. – Will

관련 문제