2010-04-29 12 views
10

मेरे पास कोडनिर्देशक में एक साधारण रूप है जिसे मैं संपादन या रिकॉर्ड के लिए उपयोग करना चाहता हूं। मैं उस चरण में हूं जहां मेरा फॉर्म प्रदर्शित होता है और मान संबंधित इनपुट बॉक्स में प्रवेश करते हैं। , अगर मैं CodeIgniter में form_validation उपयोग करना चाहते हैंकोडनिर्देशक: फ़ॉर्म सत्यापन और पुन: आबादी का उपयोग करने वाले एक संपादन फ़ॉर्म को कैसे बनाया जाए?

<input type="text" value="<?php echo $article['short_desc'];?>" name="short_desc" /> 

लेकिन फिर मैं करने के लिए thos कोड जोड़ने के लिए:

यह केवल मूल्य निर्धारित करने के बारे में कहा जो कुछ भी वे ध्यान में रखते हुए होने की जरूरत के लिए बक्से द्वारा किया जाता है मेरी मार्क-अप:

<input value="<?php echo set_value('short_desc')?>" type="text" name="short_desc" /> 

तो मूल्य set_value समारोह के साथ सेट किया जा सकता नहीं यह पद डेटा से त्रुटि पर repopulated करने की आवश्यकता चाहिए।

क्या दोनों को गठबंधन करने का कोई तरीका है ताकि मेरा संपादन फ़ॉर्म मूल्यों को संपादित करने के लिए दिखाया जा सके लेकिन फिर भी पॉप्युलेट हो सके?

धन्यवाद

उत्तर

19

set_value() वास्तव में एक डिफ़ॉल्ट मान के लिए एक दूसरा तर्क ले जा सकते हैं, अगर वहाँ फिर से आबाद करने के लिए कुछ भी नहीं है (कम से कम सीआई संस्करणों 1.7.1 और 1.7.2 पर देख रहे हैं) है। यह बातें ध्यान में साथ

/** 
* Get the value from a form 
* 
* Permits you to repopulate a form field with the value it was submitted 
* with, or, if that value doesn't exist, with the default 
* 
* @access public 
* @param string the field name 
* @param string 
* @return void 
*/ 
function set_value($field = '', $default = '') 
{ 
    if (! isset($this->_field_data[$field])) 
     { 
      return $default; 
     } 

     return $this->_field_data[$field]['postdata']; 
} 

तो तुम इस तरह set_value को बस अपने डिफ़ॉल्ट मान पारित करने के लिए सक्षम होना चाहिए:: देखो (लाइन 710) Form_validation.php पुस्तकालय से निम्नलिखित

<input value="<?php echo set_value('short_desc', $article['short_desc'])?>" type="text" name="short_desc" /> 

हैं रिपोप्लेट करने के लिए कोई मूल्य नहीं है, set_value() डिफ़ॉल्ट रूप से $article['short_desc']

उम्मीद है कि मदद करता है।

+0

पर नजर डालें - चीयर्स! – Sergio

+0

बिल्कुल सही समाधान। इस "set_value" का परीक्षण करते समय, कृपया सभी फ़ील्ड में "set_value()" फ़ंक्शन लागू करें। इसे एक ही क्षेत्र में परीक्षण करने से परिणाम नहीं मिलेगा। – Pravin

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