$ Form_state ['मान'] और $ form_state ['input'] के बीच अंतर


24

क्या कोई मुझे इन दो चर के बीच का अंतर बता सकता है?

$form_state['values']
$form_state['input']

वैकल्पिक रूप से कार्रवाई के कुछ उदाहरण जिनके साथ उनका उपयोग किया जाता है। मैं विशेष रूप से ड्रुपल रूप में अजाक्स के साथ उपयोग करने के बारे में सोच रहा हूं। फार्म से इनपुट मान प्राप्त करने के लिए मुझे इनमें से किसको अजाक्स कॉलबैक में उपयोग करना चाहिए?

जवाबों:


27

यहां महत्वपूर्ण अंतर यह है कि ज्यादातर मामलों में आपको $ form_state ['मान'] का उपयोग करना चाहिए; चूंकि $ form_state ['इनपुट'] सरणी पर डेटा कच्चा और असमान है।

$ form_state ['इनपुट'] बहु-चरण रूपों के लिए उपयोगी है, यह मानते हुए कि आप कच्चे इनपुट को सुरक्षित रूप से कैसे संभालते हैं ... अधिक जानकारी के लिए form_builder देखें ...


1

जब तक आप नहीं जानते कि आप क्या कर रहे हैं, तो आप $form_state['values']यह संसाधित रूप मान है। $form_state['input']कच्चा डेटा है कोड के लिए देखें form_builder: https: //api.drupal.org/api ....


0

99.9% मामलों में, $form_state['values']और $form_state['input']समान हैं।

लेकिन - 1% के एक हिस्से से सावधान रहें, विशेष रूप से date_popup फ़ील्ड का उपयोग करते समय , क्योंकि यह इनपुट 'इनपुट' में संग्रहीत है, लेकिन 'मान' सरणी में नहीं।


0

$form_state['values']अधिकांश मामलों में $form_state['input']कच्चे और अमान्य मूल्य को पकड़ना चाहिए । इसके अलावा में $form_state['values']मूलभूत मूल्यों पारित कर रहे हैं जब प्रपत्र प्रस्तुत करने में विफल रहता है, लेकिन के मामले में $form_state['input']शून्य पारित कर दिया है।


-4

में drupal_form_submit समारोह, तो आपको निम्न कोड देख सकते हैं:

// Populate $form_state['input'] with the submitted values before retrieving
// the form, to be consistent with what drupal_build_form() does for
// non-programmatic submissions (form builder functions may expect it to be
// there).
$form_state['input'] = $form_state['values'];

तो यह बिल्कुल वैसा ही है।


4
उपरोक्त फ़ंक्शन का उपयोग प्रोग्राम को फ़ॉर्म सबमिट करने के लिए किया जाता है ... यह ओपी प्रश्न का उत्तर नहीं देता है ..
अनिल सागर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.