2016-06-02 4 views
0

Je veux faire un champ de sélection dans mon formulaire html, qui a des options sélectionnables disponibles et "Ajouter une nouvelle" option dans la liste. En sélectionnant "Ajouter un nouveau", je souhaite que le contrôle d'entrée de texte requis disparaisse. Si l'une des options disponibles est sélectionnée, le formulaire ne réagit pas en tant qu'entrée de texte requise ou non renseignée. Est-il possible de le faire avec des formulaires django uniquement ou dois-je utiliser le champ de formulaire reqular required=False et gérer la validation de formulaire dans le l'extrémité avant?Champ dynamiquement requis sous forme de django?

Répondre

0

vous pouvez accéder à votre widget attributs redéfinissant la méthode init():

class MyForm(forms.Form): 
    ... 

    def __init__(self, *args, **kwargs): 
     super(MyForm, self).__init__(*args, **kwargs) 

     if condition: 
      self.fields['my_field'].required = True 
      self.fields['my_field'].widget.attrs['required'] = 'required' 
+0

Comment puis-je utiliser? Pas très clair pour moi. –