Perbedaan antara $ form_state ['values'] dan $ form_state ['input']


24

Bisakah seseorang tolong beri tahu saya perbedaan antara kedua variabel ini?

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

Opsional beberapa contoh tindakan yang mereka gunakan. Saya bertanya-tanya terutama tentang penggunaan dengan ajax dalam bentuk drupal. Manakah dari ini yang harus saya gunakan dalam panggilan balik ajax untuk mendapatkan nilai input dari formulir?

Jawaban:


27

Perbedaan penting di sini adalah bahwa dalam kebanyakan kasus Anda harus menggunakan $ form_state ['values']; karena data pada array $ form_state ['input'] adalah mentah dan tidak divalidasi.

$ form_state ['input'] berguna untuk formulir multi-langkah, dengan asumsi Anda terbiasa dengan cara aman menangani input mentah .... Lihat form_builder untuk informasi lebih lanjut ...


1

Kecuali Anda tahu apa yang Anda lakukan, Anda $form_state['values']itu adalah nilai formulir yang diproses. $form_state['input']adalah data mentah. Lihat kode untuk form_builder: https: //api.drupal.org/api ....


0

Dalam 99,9% kasus, $form_state['values']dan $form_state['input']identik.

Tetapi - waspadalah terhadap sebagian dari 1%, terutama ketika menggunakan bidang date_popup , karena inputnya disimpan dalam 'input', tetapi BUKAN dalam array 'nilai'.


0

$form_state['values']harus digunakan dalam sebagian besar kasus sebagai $form_state['input']memegang nilai mentah dan tidak valid. Juga di $form_state['values']standar nilai-nilai yang berlalu ketika penyerahan formulir gagal, tetapi dalam kasus $form_state['input']NULL dilewatkan.


-4

Dalam fungsi drupal_form_submit , Anda dapat melihat kode berikut:

// 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'];

Jadi persis sama.


4
Fungsi di atas digunakan untuk mengirimkan formulir ... Tidak menjawab Pertanyaan OP ..
Anil Sagar
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.