2013-03-30 4 views
5

किसी भी तरह से मुझे अनदेखा करने के लिए ज़ेंड फ्रेमवर्क 2 में फॉर्म एलिमेंट्स नहीं मिल सकते हैं।ZF2: फ़ॉर्म तत्वों को अनदेखा करने के लिए कैसे सेट करें?

यह सब काम करने के लिए प्रतीत नहीं होता: होगा
क्यों:

//Zend Framework 1 
$this->addElement(
    'submit', 
    'login', 
    array(
    'ignore' => true, 
    'label' => 'Login' 
    ) 
); 

संपादित करें:

$this->add(array(
    'name' => 'submit', 
    'ignore' => TRUE, 
    'attributes' => array(
    'type' => 'submit', 
    'value' => 'Go!', 
    'id' => 'submitbutton', 
    'ignore' => TRUE 
), 
'options' => array(
    'ignore' => TRUE 
) 
)); 

यह है कि यह कैसे Zend Framework1 में काम करने के लिए प्रयोग किया जाता है मुझे "अनदेखा" विकल्प चाहिए?
मान लें कि आपके फॉर्म में सबमिट बटन है। सामान्य PHP के साथ, $_POST जैसे कुछ आपके सबमिट बटन को भी सूचीबद्ध करेंगे। इस तत्व को बाहर करने के लिए ज़ेंड 1 में उपयोगी विकल्प setIgnore($flag) और getIgnore() हैं। $form->getValues() (सत्यापन के बाद) TRUE पर ध्वज 'अनदेखा' सेट के साथ सभी तत्वों को बाहर कर देगा। ZF1 manual देखें।

+2

देख रहे हैं आप की अनदेखी से क्या मतलब है। और सबमिट तत्व को अनदेखा करना क्या उद्देश्य होगा? क्या आपका मतलब सत्यापन से बाहर है? क्या आप खाली मूल्यों को अनुमति देने का मतलब है? आपका प्रश्न वास्तव में सीधे आगे नहीं है। – Sam

+0

@ सैम: आपके संकेत के लिए धन्यवाद। मैंने सोचा कि "ज़ेंड-फ्रेमवर्कर्स" मुझे पता चलेगा कि मेरा क्या मतलब है। ;) मैंने अपनी उत्पत्ति संपादित की। स्पष्टीकरण के लिए पोस्ट करें। – mdthh

+1

जहां तक ​​मुझे पता है, ज़ेडएफ 2 में ऐसी कोई सुविधा नहीं है और व्यक्तिगत रूप से मैं इसे अच्छी बात मानता हूं क्योंकि यह काफी बेकार है। यदि आपको किसी भी पोस्ट-डेटा की आवश्यकता नहीं है, तो बस इसका उपयोग न करें। इसे बिल्कुल हासिल करने की कोई वास्तविक आवश्यकता नहीं है। चूंकि आपने '$ form-> setData ($ request-> getPost()) का उपयोग करके फॉर्म-डेटा सेट किया है, इसलिए आप आसानी से' getPost() 'को एक चर में पॉट कर सकते हैं और फिर' अनसेट ($ postData ['submit']) 'या तो ... – Sam

उत्तर

2

चेक आउट के बारे में inputfilters

मेरे उपयोग कि तरह है:

  1. आपके प्रपत्र
  2. बनाने नियंत्रक उपयोग में एक फिल्टर
  3. बनाने कि

    $form = new BasicForm(); 
    $form->setInputFilter(new BasicFilter()); 
    

फ़िल्टर के बारे में, आप यह कर सकते हैं: $ फैक्ट्री = नया इनपुट फैक्टरी();

$this->add($factory->createInput(array(
     'name' => 'birthday', 
     'required' => false, 
     'allowEmpty' => true,)); 
+0

यह समाधान नहीं है (कम से कम जब फॉर्म की बाइंड() विधि के साथ काम करते हैं), अतिरिक्त रूप से अनुमति दें ZF2 2.4.8 के बाद से लक्षण को बहिष्कृत किया गया है – MonkeyMonkey

0

मुझे लगता है कि आप के लिए

'options' => array(
    'exclude' => true, 
), 
संबंधित मुद्दे