2012-06-10 18 views
18

की आवश्यकता है, मैं एक ऐसा क्षेत्र रखना चाहता हूं जो सशर्त रूप से सही या गलत पर बूलियन मान सेट करने के आधार पर आवश्यक हो।Django फॉर्म फ़ील्ड को सशर्त रूप से

मुझे आवश्यक सेट पर वापस लौटना चाहिए = सही अगर is_company सही पर सेट है?

class SignupFormExtra(SignupForm): 
    is_company = fields.BooleanField(label=(u"Is company?"), 
            required=False) 
    NIP = forms.PLNIPField(label=(u'NIP'), required=False) 


def clean(self): 
    if self.cleaned_data.get('is_company', True): 
     return ...? 
    else: 
     pass 
+0

तो जापानी केवल आवश्यक है:

उदाहरण दस्तावेज में दिए गए आसानी से अपने परिदृश्य के लिए अनुकूलित किया जा सकता? – arie

+0

हां, बिल्कुल :) – Efrin

+0

और, क्या यह काम करता है? – arie

उत्तर

25

प्रलेखन में Cleaning and validating fields that depend on each other पर अध्याय देखें। is_company सही पर सेट हो, तो

def clean(self): 
    cleaned_data = super(SignupFormExtra, self).clean() 
    is_company = cleaned_data.get("is_company") 
    nip = cleaned_data.get("NIP") 
    if is_company and not nip: 
     raise forms.ValidationError("NIP is a required field.") 
    return cleaned_data 
+4

लिंक @ एरी प्रदान करता है कि self._errors ["एनआईपी"] = self.error_class (["यह) के साथ raise कथन को प्रतिस्थापित करके फ़ील्ड के साथ त्रुटि को कैसे जोड़ना है। एक आवश्यक क्षेत्र है। "]) – Seth

संबंधित मुद्दे