2011-08-16 7 views
5

मैं संपादित प्रपत्र की बचत की प्रक्रिया के दौरान जांच करने के लिए (जहाँ मैं प्रपत्र कार्रवाई को रद्द कर सकते हैं एक विधि बुला समझते हैं) एक फ़ील्ड का मान कुछ कमीनिपुणता सामग्री प्रकारों पर की कमी की जांच कैसे करें फ़ील्ड

को सत्यापित

उत्तर

6

फ़ील्ड को स्कीमा (सुपरमॉडल नहीं) के माध्यम से परिभाषित किया जाना चाहिए, अन्यथा फ़ील्ड स्कीमा में दिखाई नहीं दे रहा है।

@form.validator(field=IMySchema['title']) 
def validateTitle(value): 
    if value == value.upper(): 
     raise schema.ValidationError(u"Please don't shout") 
2

चाहते मुझे यकीन है कि आप zope.interface invariants का उपयोग कर फाइल सिस्टम कोड निपुणता प्रकार के साथ ऐसा कर सकते हैं।

+0

ओह, मैं पढ़ने में भूलना, अगर आप सिर्फ एक क्षेत्र को मान्य करना चाहते हैं, SteveM सही है: एक बार क्षेत्र स्कीमा में परिभाषित किया गया है, तो आप एक क्षेत्र सत्यापनकर्ता स्थापित करने के लिए निम्नलिखित की तरह एक सजाया समारोह का उपयोग कर सकते हैं। –

+0

सभी anwsers सहायक थे; धन्यवाद – toutpt

1

validators को समर्पित अध्याय पर, डेक्सटेरिटी डेवलपर मैनुअल पर एक नज़र डालें।