$ Form_state ['value'] ve $ form_state ['input'] arasındaki fark


24

Birisi lütfen bana bu iki değişken arasındaki farkı söyleyebilir mi?

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

İsteğe bağlı olarak, kullandıkları bazı eylem örnekleri. Özellikle ajax ile drupal formda kullanma hakkında merak ediyorum. Bunlardan hangisini formdaki girdi değerlerini almak için ajax callback'de kullanmalıyım?

Yanıtlar:


27

Buradaki en önemli fark, çoğu durumda $ form_state ['value'] kullanmanız gerektiğidir; $ form_state ['input'] dizisindeki veriler ham ve doğrulanmadığından.

$ form_state ['input'], ham girdiyi güvenli bir şekilde nasıl kullanacağınızı bildiğinizi varsayarsak, çok adımlı formlar için yararlıdır ... Daha fazla bilgi için form_builder ...



0

Vakaların% 99.9'unda $form_state['values']ve $form_state['input']aynıdır.

Ancak -% 1 değerinin bir kısmına dikkat edin, özellikle de date_popup alanını kullanırken, giriş 'input' konumunda saklanır, ancak ' value ' dizisinde DEĞİLDİR.


0

$form_state['values']$form_state['input']Ham ve geçersiz değeri olan çoğu durumda kullanım yapılmalıdır . Ayrıca $form_state['values']varsayılan olarak form gönderimi başarısız olduğunda değerler geçilir, ancak $form_state['input']NULL durumunda geçilir.


-4

In drupal_form_submit işlevi, aşağıdaki kodu görebilirsiniz:

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

Yani tamamen aynı.


4
Yukarıdaki fonksiyon, programlı olarak form göndermek için kullanılır ... OP Sorusuna cevap vermiyor ..
Anil Sagar
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.