2010-08-17 4 views
0

Cake 응용 프로그램 내에서 사용자가 레코드를 편집하기 위해 양식을 제출하는 경우 특정 변경 사항을 요약하는 가장 좋은 방법은 무엇이라고 생각하십니까? 사용자가 변경하는 모든 필드에 값을 표시하고 변경 사항을 확인하거나 되돌아 가서 변경하는 옵션을 제공하고 싶습니다. 나는 그것이 제출 된 데이터를 기존 레코드와 비교하는 것을 포함한다고 생각하지만, Cake가 이것을하기 위해 일부 기능을 내장하고 있기를 바랬다. 이견있는 사람? 나는 또한 자바 스크립트 솔루션에 대해서도 개방적이지만 석기 시대에 여전히 작동하는 사용자를 위해 Cake fallback을 갖고 싶습니다.양식을 제출하기 전에 확인 페이지 표시

+0

내가 응용 프로그램의 레이아웃이 어떤지 잘 모르겠어요를 확인하면 그래서 (A 데이터베이스에 제출 만들고 기본적으로 또는 첫번째 채우기에 1을 0으로 설정하는 것입니다 이것은 실현 가능하지 않을 수 있음) 사용자가 방금 입력 한 모든 내용을 제출하고 검토/확인하게하는 대신 다른 방법은 새 데이터에 대한 각 입력 옆에 이전 데이터가있는 정적 필드를 표시하는 것입니다. –

답변

1

입력을 확인하기위한 오래된 프로세스 인 것 같습니다. 청구 화면에서이 작업을 수행 할 수 있지만 사용자가 레코드를 편집하려고 할 때마다 그런 것은 아닙니다. 그것은 우리가 품질에 의문을 제기하고 "모든 것을 정확하게 입력 했습니까?"라고 말하는 것과 같습니다. 나는 이것이 가난한 디자인이라고 생각하고 피해야한다. 그들은 실수를했는지 알 수 있습니다. 필요에 따라 쉽게 되돌아 가서 다시 변경할 수 있습니다.

간단한 양식 유효성 확인 (이메일 주소가 실제로 이메일 주소인지, 전화 번호 확인 등)을 제공하는 것이 좋습니다. 그 외에도 정확한 정보를 입력하는 것은 사용자의 몫입니다. 그것은 끊임없이 "당신은 확실합니까?"라는 성가신 질문을받을 수 있습니다.

그렇다면이 방법을 사용하는 한 가지 방법은 기본 방법을 수정하는 것입니다.

function update() { 
    if($this->data) { 
     if($this->data['Information']['confirmed']) { 
     // save updated information 
     } else { 
     // display changes to be made (use hidden fields and add confirmed=1) 
     }  
    } 
    // display edit form 
} 

나는 의견의 생각이 모두 같은 방법 내에서 기능을 유지하는 좋은 방법입니다 : 당신이 당신의 정보 컨트롤러) 업데이트 (호출 한 함수를 사용하는 경우 그래서, 예를 들어, 다음과 같이 쓸 수있다 가능하다면. 코드가 모든 곳으로 확산되어 관리하기 어려워지는 것을 방지합니다.

행운을 빈다.

+0

불쌍한 디자인에 동의하지만 불행히도 그것은 나에게 달린 것이 아닙니다. 그러나 귀하의 솔루션에 감사드립니다. – Nick

관련 문제