Miraemos
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.


Fin de la version 2 pour le 25 octobre! Consulter le planning pour voir vos taches, merci de le respecter ! Bon travail =) !
 
AccueilGalerieRechercherDernières imagesS'enregistrerConnexion
-21%
Le deal à ne pas rater :
LEGO® Icons 10329 Les Plantes Miniatures, Collection Botanique
39.59 € 49.99 €
Voir le deal

 

 Formulaire

Aller en bas 
2 participants
AuteurMessage
Baboso
Codeur
Baboso


Nombre de messages : 112
Age : 35
Localisation : Bordeaux
Date d'inscription : 23/05/2008

Status
Perso: Soldat
Faction: Eclaireur
Caste: Chevalier

Formulaire Empty
MessageSujet: Formulaire   Formulaire Icon_minitimeSam 4 Oct - 20:01

Salut, voilà un petit moment que je n'arrive pas à résoudre un problème. Comment passer un paramètre à la méthode clean_xxxx() d'un formulaire ?

J'arrive pourtant à passer un paramètre au constructeur de mon formulaire. Je vous mets la portion de code :

Code:
class MDPForm(forms.Form):
    def __init__(self, user, *args):
        forms.Form.__init__ (self, *args)
        self.fields['ancienMDP']    = forms.CharField(label='Mot de passe actuel', widget=forms.PasswordInput())
        self.fields['nouveauMDP']  = forms.CharField(label='Nouveau mot de passe', widget=forms.PasswordInput())
        self.fields['confirmation'] = forms.CharField(label='Confirmation', widget=forms.PasswordInput())
   
    def clean_ancienMDP(self):
        ancienMDP = self.cleaned_data.get('ancienMDP', '')
        if not user.check_password(ancienMDP):
            raise forms.ValidationError("Mot de passe incorrect.")
        return ancienMDP
   
    def clean_confirmation(self):
        confirmation = self.cleaned_data.get('confirmation', '')
        nouveauMDP = self.cleaned_data.get('nouveauMDP', '')
        if confirmation != nouveauMDP:
            raise forms.ValidationError("Confirmation incorrecte.")
        return confirmation

J'aimerais ajouter "user" comme paramètre à la méthode clean_ancienMDP() mais je ne sais pas où est elle appelée. Merci d'avance pour votre aide.
Revenir en haut Aller en bas
Natim
Codeur
Natim


Nombre de messages : 131
Date d'inscription : 03/11/2007

Status
Perso: Natim
Faction: Moine
Caste: Chevalier

Formulaire Empty
MessageSujet: Re: Formulaire   Formulaire Icon_minitimeSam 4 Oct - 23:03

On ne peut pas c'est fixer sans paramêtre par contre tu dois pouvoir récuperer dans le request l'user ou le mettre comme champ hidden dans ton formulaire.
Revenir en haut Aller en bas
Baboso
Codeur
Baboso


Nombre de messages : 112
Age : 35
Localisation : Bordeaux
Date d'inscription : 23/05/2008

Status
Perso: Soldat
Faction: Eclaireur
Caste: Chevalier

Formulaire Empty
MessageSujet: Re: Formulaire   Formulaire Icon_minitimeSam 4 Oct - 23:11

Je n'ai pas non plus de request. Pour le champ hidden, c'est un mot de passe à transmettre donc je n'ai pas envie de le mettre en clair dans le HTML (même si le mot de passe est crypté).

EDIT : j'ai réussi à me décoincé, en partie grâce à toi car tu m'a fais regarder un peu ailleurs. J'ai simplement rajouté un attribut self.user au formulaire, en l'initialisant comme ceci dans le constructeur :

Code:
self.user = user

Merci pour ton aide. Smile
Revenir en haut Aller en bas
Natim
Codeur
Natim


Nombre de messages : 131
Date d'inscription : 03/11/2007

Status
Perso: Natim
Faction: Moine
Caste: Chevalier

Formulaire Empty
MessageSujet: Re: Formulaire   Formulaire Icon_minitimeSam 4 Oct - 23:18

Heureux que ça t'ai aidé.
Revenir en haut Aller en bas
Contenu sponsorisé





Formulaire Empty
MessageSujet: Re: Formulaire   Formulaire Icon_minitime

Revenir en haut Aller en bas
 
Formulaire
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Miraemos :: Sur Terre :: Probleme technique-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser