From 084b140db0327a8994e42507f6c13480c2b1920f Mon Sep 17 00:00:00 2001 From: Bryan Brancotte <bryan.brancotte@pasteur.fr> Date: Wed, 14 Aug 2019 14:35:03 +0200 Subject: [PATCH] Having field that are required but controlled by js --- ippisite/ippidb/forms.py | 5 ++++- ippisite/ippidb/templates/ProteinDomainComplexForm.html | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/ippisite/ippidb/forms.py b/ippisite/ippidb/forms.py index d06f4169..dba54e33 100644 --- a/ippisite/ippidb/forms.py +++ b/ippisite/ippidb/forms.py @@ -269,7 +269,10 @@ class ComplexCompositionForm(forms.Form): ppp_copy_nb_per_p = forms.IntegerField( label=_('ppp_copy_nb_per_p'), required=False, - widget=forms.NumberInput(attrs={'class': 'bound-complex-only'}), + widget=forms.NumberInput(attrs={ + 'class': 'bound-complex-only', + 'data-required': True, + }), validators=[ MinValueValidator(1), ], diff --git a/ippisite/ippidb/templates/ProteinDomainComplexForm.html b/ippisite/ippidb/templates/ProteinDomainComplexForm.html index 65ff55ee..7dd07868 100644 --- a/ippisite/ippidb/templates/ProteinDomainComplexForm.html +++ b/ippisite/ippidb/templates/ProteinDomainComplexForm.html @@ -10,14 +10,15 @@ function update_partner_bound_fields_visibility(){ console.log($(source).val()); let partner = $(source).val() == "Partner"; if(partner){ - console.log(partner); $(source).closest(".formset-item").find(".partner-complex-only").parent().show(); + $(source).closest(".formset-item").find(".partner-complex-only[data-required]").prop("required",true); $(source).closest(".formset-item").find(".bound-complex-only").parent().hide(); - console.log("test:",$(source).closest(".formset-item").parent().find(".complex-type").val()); + $(source).closest(".formset-item").find(".bound-complex-only[data-required]").prop("required",false); }else{ $(source).closest(".formset-item").find(".partner-complex-only").parent().hide(); + $(source).closest(".formset-item").find(".partner-complex-only[data-required]").prop("required",false); $(source).closest(".formset-item").find(".bound-complex-only").parent().show(); - console.log("test2:",$(source).closest(".formset-item").parent().find(".complex-type").val()); + $(source).closest(".formset-item").find(".bound-complex-only[data-required]").prop("required",true); } } $(document).ready(function(){ -- GitLab