2011-04-12 7 views
10

मान लीजिए और LAST_NAMECodeIgniter फ़ॉर्म सत्यापन set_value केवल जो नियम अगर मैं अपने प्रपत्र अर्थात first_name में दो क्षेत्रों है

मैं केवल first_name के लिए सत्यापन नियम सेट कर दिया है क्षेत्रों के लिए काम करता है।

set_value नियम के बावजूद दोनों क्षेत्रों के लिए काम करना चाहिए? सही ?

मेरे लिए यह केवल उन फ़ील्ड के लिए काम करता है जिनके नियम हैं !!!

उत्तर

11

set_value केवल उन आइटम्स के विरुद्ध काम करता है जिन्हें आपने form_validation क्लास का उपयोग करके सत्यापित करने के लिए चुना है।

सबसे आसान तरीका नाटक करने के लिए आप अपने फ़ॉर्म सत्यापन config को
सरणी ( 'फील्ड' => 'पता 1', 'लेबल' इस जोड़कर सत्यापित कर रहें है => ', ' नियम '=>' ' ),

वहाँ एक हैक कोई सीआई पुस्तकालय करने के लिए किया गया है, लेकिन मुझे लगता है कि आज पर दस्तावेज़ प्राप्त करने के ... या का उपयोग करने के बजाय इस संशोधन नहीं कर पाए हैं:

http://codeigniter.com/forums/viewthread/159535/#775628

+1

यह राज्य के लिए आप फिर भी कॉल करना होगा कि form_validations विधि चलाने के लिए महत्वपूर्ण है फिर से आबाद करने के लिए। अकेले सत्यापन नियमों को सेट करना पर्याप्त नहीं है। – AJReading

3

इस मुद्दे का सरल उपाय है। उन क्षेत्रों के लिए $_POST['your_field_name'] वैरिएबल को दूसरे पैरामीटर के रूप में पास करें जिनके पास कोई सत्यापन नियम नहीं है।

echo set_value('o_title',$_POST['o_title']); 

यह मेरे लिए काम करता है।

+0

यह एक अच्छा समाधान नहीं है - यह पहली बार फॉर्म को लोड करते समय एक 'अपरिभाषित अनुक्रमणिका' त्रुटि फेंक देगा क्योंकि $ _POST सरणी में कुछ भी नहीं है, और यह आपको वास्तविक डिफ़ॉल्ट मान प्रदान करने की अनुमति नहीं देता है करने की जरूरत है। – charliefortune

+0

अच्छा नहीं है, त्रुटि फेंक दें। – Sunry

3

यदि आप केवल पहले पैरामीटर के साथ सत्यापन नियम सेट करते हैं तो यह ठीक काम करता है।

$this->form_validation->set_rules('city'); 

आदि

तो वहाँ एक सत्यापन नियम से प्रति नहीं है, लेकिन यह आप के लिए क्षेत्र repopulates।

0

कुछ समय मैं ट्रिम या कॉलबैक की तरह नकली नियम का उपयोग सिर्फ दायर डेटा

$this->form_validation->set_rules('city','City','trim');