2010-08-17 5 views
0

Dans une application Cake, si un utilisateur soumet un formulaire pour modifier un enregistrement, quelle serait, selon vous, le meilleur moyen de décrire les modifications spécifiques apportées? Je voudrais afficher les valeurs à tous les champs que l'utilisateur change et leur offrir l'option de confirmer les changements ou de revenir en arrière et de les changer. Je suppose que cela impliquera de comparer les données soumises avec l'enregistrement existant, mais j'espérais que Cake avait une fonctionnalité intégrée pour le faire. Des pensées? Je suis également ouvert à toutes les solutions javascript, mais j'aimerais avoir une solution de rechange Cake pour les utilisateurs qui opèrent encore à l'âge de pierre.Affichage de la page de confirmation avant la soumission d'un formulaire

+0

Je ne suis pas sûr de ce que la mise en page de votre application est comme (si cela peut ne pas être faisable), mais plutôt que de soumettre l'utilisateur et de vérifier/confirmer tout ce qu'il vient de saisir, une solution alternative consisterait simplement à afficher un champ statique avec les anciennes données à côté de chaque entrée pour les nouvelles données. –

Répondre

1

Cela semble être un processus obsolète, pour vérifier l'entrée. Je peux voir cela pour un écran de facturation, mais pas nécessairement chaque fois qu'un utilisateur veut éditer un enregistrement. C'est comme si nous étions en train de remettre en question leur qualité et de dire: "Es-tu sûr d'avoir tout saisi correctement?" Je pense que c'est une mauvaise conception et devrait être évitée. Ils sauront s'ils ont fait une erreur. Ils peuvent tout aussi facilement revenir en arrière et faire le changement à nouveau si nécessaire.

Je suggère de fournir une validation de formulaire simple (en s'assurant que les adresses e-mail sont effectivement des adresses e-mail, vérifier les numéros de téléphone, etc.). Au-delà de cela, ce serait à l'utilisateur d'entrer des informations correctes. Il peut être ennuyeux étant constamment demandé, "Es-tu sûr?" Cela étant dit, une façon de le faire (si vous devez) est de modifier votre méthode par défaut. Ainsi, par exemple, si vous utilisez la fonction appelée mise à jour() dans votre contrôleur d'information, vous pouvez écrire quelque chose comme ceci:

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 
} 

Je suis d'avis qu'elle est mise à maintenir la fonctionnalité tout dans la même méthode si possible. Il empêche le code de s'étendre partout et devient ingérable.

Bonne chance!

+0

Je suis d'accord que c'est de mauvaise conception, mais malheureusement, ce n'était pas à moi. J'apprécie votre solution, cependant. – Nick

0

La meilleure façon est de créer une base de données déposé dans la et le mettre à 0 par défaut ou premier remplissage et à 1 une fois qu'il confirme

Questions connexes