В приложении Cake, если пользователь отправляет форму для редактирования записи, как вы думаете, как лучше всего описать конкретные внесенные изменения? Я хотел бы отобразить значения всех полей, которые пользователь изменяет, и предложить им возможность либо подтвердить изменения, либо вернуться и изменить их. Я предполагаю, что это будет включать сравнение отправленных данных с существующей записью, но я надеялся, что у Cake есть некоторые встроенные функции для этого. Какие-нибудь мысли? Я также открыт для любых решений javascript, но я хотел бы иметь запасной вариант Cake для тех пользователей, которые все еще работают в каменном веке.

0
Nick 17 Авг 2010 в 21:42

2 ответа

Лучший ответ

Это похоже на устаревший процесс проверки ввода. Я вижу это для экрана биллинга, но не обязательно каждый раз, когда пользователь хочет редактировать запись. Мы как бы ставим под сомнение их качество и говорим: «Вы уверены, что все правильно ввели?» Я считаю, что это плохой дизайн, и его следует избегать. Они узнают, ошиблись ли они. Они могут так же легко вернуться и снова внести изменения, если это необходимо.

Я бы предложил предоставить простую проверку формы (убедиться, что адреса электронной почты действительно являются адресами электронной почты, проверить номера телефонов и т. Д.). Помимо этого, пользователь должен будет ввести правильную информацию. Постоянный вопрос: «ВЫ УВЕРЕНЫ?» Может раздражать.

При этом один из способов сделать это (если вы ДОЛЖНЫ) - изменить метод по умолчанию. Так, например, если вы используете функцию update () в своем информационном контроллере, вы можете написать что-то вроде этого:

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
}

Я считаю, что лучше всего сохранить функциональность в рамках одного метода, если это возможно. Это предотвращает распространение кода повсюду и его неуправляемость.

Удачи!

1
Chuck Burgess 17 Авг 2010 в 19:54

Лучший способ - создать поле в базе данных и установить для него значение 0 по умолчанию или при первом заполнении и 1, когда он это подтвердит.

0
aWebDeveloper 18 Авг 2010 в 07:44