Codeigniter: Comment faire pour rediriger correctement avec la validation d'un formulaire
Je comprends comment le faire w/un simple formulaire w/o valeurs existantes, mais disons que j'ai une vision que je peux appeler via http://domain.com/account/settings. disons que j'ai deux champs, le nom d'utilisateur, mot de passe et de la ville, qui sont tous tirés de la bd (sauf pour le mot de passe bien sûr). Donc, si un utilisateur tente d'envoyer le formulaire et la validation échoue pour quelque raison que ce soit, où dois-je "rediriger"? Maintenant, j'ai montrant le même point de vue, mais le problème est, il tire l'info de la bd de nouveau. Devrais-je être la création de deux points de vue différents?
Le second point de vue essentiellement à montrer les informations dont ils ont essayé d'entrer dans le long w/le message d'erreur.
OriginalL'auteur luckytaxi | 2010-01-04
Vous devez vous connecter pour publier un commentaire.
Vous n'avez pas besoin de deux points de vue. Découvrez Formulaire d'aide fonctions
set_value()
,set_select()
,set_checkbox()
etset_radio()
. Ces re-remplir le formulaire après sa soumission et de validation. Donc dans votre cas, vous devez spécifier les champs de cette façon:Par défaut, l'entrée sera
$user['city']
valeur. Mais après l'échec de la validation, il sera re-rempli avec les valeurs précédemment saisies (y compris les erreurs).Juste rappelez-vous que tous les champs que vous souhaitez re-remplir doivent être transmis par le biais de
form_validation
bibliothèque:OriginalL'auteur Cinnamon
Sur le même contrôleur que vous pourriez avoir quelque chose comme ceci:
C'est tout là est à lui.
L'idée est de le rediriger vers lui-même ou partout où vous voulez, lors de la validation renvoie 'true', de sorte que nous avons un peu de rafraîchissement de la page, donc, de mettre à jour la page.
Si la validation renvoie 'false', alors vous n'aurez pas à faire quoi que ce soit.
OriginalL'auteur Thorpe Obazee
Rediriger vers le même formulaire.
Et à votre avis, donner des informations d'erreur pour le visiteur.
Il y a deux façons dont vous pouvez faire cette.
Utilisation de cette erreur dans votre point de vue. Cela permettra d'afficher une erreur de validation info.
echo validation_errors('<p class="erreur">','</p>');
Ou vous pouvez utiliser flashdata()
Dans votre contrôleur
Et à votre avis, vous avez besoin de le montrer.
OriginalL'auteur shin
Eu le même problème et a découvert que l'un de redirection vous fait perdre les données qui auraient été fournis par form_error(...) ou validation_errors(), sauf que vous stocker ces données dans une session ou dans un tableau transmis dans les chargé de vue.
Le point à noter est que vous devez rediriger uniquement si les données que vous voulez passé autour de est en session, sinon vous devriez vous suffit de charger un point de vue. Ce dernier assure que vous avez vos erreurs de validation intact lorsque vous atteignez le chargé de vue.
OriginalL'auteur Babatunde Adeyemi
Il suffit de charger même point de vue, si la validation a échoué
contrôleur
Afficher la page
Ce code afficher les erreurs de forme et de repeupler la forme
OriginalL'auteur shihabudheen