$ Form_state ['মান'] এবং $ form_state ['ইনপুট'] এর মধ্যে পার্থক্য


24

কেউ দয়া করে আমাকে এই দুটি ভেরিয়েবলের মধ্যে পার্থক্য বলতে পারেন?

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

Actionচ্ছিকভাবে তারা ব্যবহার করা হয় কর্মের কিছু উদাহরণ। আমি ভাবছি বিশেষ করে অজ্যাক্সটি ড্রুপাল আকারে ব্যবহার করার বিষয়ে। ফর্মটি থেকে ইনপুট মান পেতে আমার এজ্যাক্স কলব্যাকের মধ্যে কোনটি ব্যবহার করা উচিত?

উত্তর:


27

এখানে গুরুত্বপূর্ণ পার্থক্যটি হ'ল বেশিরভাগ ক্ষেত্রে আপনার $ form_state ['মান'] ব্যবহার করা উচিত; যেহেতু $ form_state ['ইনপুট'] অ্যারের ডেটা কাঁচা এবং অবৈধ।

raw form_state ['ইনপুট'] মাল্টি-স্টেপ ফর্মগুলির জন্য দরকারী, ধরে নিয়েই যে আপনি কীভাবে নিরাপদে কাঁচা ইনপুট পরিচালনা করবেন তার সাথে আপনি পরিচিত .... আরও তথ্যের জন্য ফর্ম_বিল্ডার দেখুন ...


1

আপনি কী করছেন তা আপনি যদি না জানেন তবে আপনি $form_state['values']এটি প্রক্রিয়াজাত ফর্মের মান। $form_state['input']কাঁচা তথ্য। Form_builder এর জন্য কোড দেখুন: https: //api.drupal.org/api ....


0

99.9% ক্ষেত্রে $form_state['values']এবং $form_state['input']একই রকম।

তবে - 1% এর একটি অংশ থেকে সাবধান থাকুন, বিশেষত ডেট_পপআপ ক্ষেত্রটি ব্যবহার করার সময় , কারণ এটির ইনপুটটি 'ইনপুট' এ সংরক্ষণ করা হয়, তবে 'মানগুলি' অ্যারেতে নয়।


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
উপরের ফাংশনটি প্রোগ্র্যাম্যাটিকভাবে ফর্ম জমা দেওয়ার জন্য ব্যবহৃত হয় ... এটি ওপি প্রশ্নের উত্তর দেয় না ..
অনিল সাগর
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.