SORU
11 ŞUBAT 2009, ÇARŞAMBA


Form çalışabilir: Nasıl benim isteklerine yapabilirim?

Kılavuzu defalarca okudum, mesaj konu ile ilgili Google tarafından sunulan dolaştılar ettik, hatta ZF ile ilgili bir kaç kitap satın aldım. Şimdi, neden hala şaşkın mıyım?

Kullanarak Zend_Form, doğrular ve fonksiyonları iyi bir form yapabilirim. Yapamıyorum ne tam olarak olmasını istiyorum hata mesajları ile bakmak istiyorum gibi bir form yapın. Özel düğmeler istiyorum, funky düzenleri istiyorum, form, vb ortasında metin eklemek istiyorum.

Herkes bu tür şeyleri ulaşmanın basit bir yolu var mı? Bana çerçevesinde bana zaman tasarrufu yerine mal gibi hissettiren bir şey? Elimden vazgeçmek Çalışabilir Şeklinde... benim kendi formu, kendi eylem hit bir sayfa doğrulamak ve işlem veri gönderildi ve ben yapabilirim hakkında olabildiğince hızlı yazın ama gerçekten istiyorum "" bu ve kullanabilme gibi oldu görünüşe göre tasarlanmıştır.

Herhangi bir tavsiye? Herhangi bir basit "nasıl yapılır" için özel düğmeler, funky düzenleri ve temel (ya da daha gelişmiş olarak var ton temel dersler o atlamak zor sorunlar) "getting things done" ile çalışabilir formu?

CEVAP
8 Mart 2009, Pazar


Barrett Conrad tavsiyesi önerdi olurdu. Ayrıca, formu işlemek için bir form nesnesi kullanmak gerekmez unutmayın.

Yapacağımız tek şey form bir sınıf ile aynı adı taşıyan bir öğe varsa, görünüm komut bir form yaratmak.

HTML form:

<form action="/login/" method="post">
<fieldset>
    <label for="username">Username:</label>
    <input type="text" size="10" name="username" />
    <label for="password">Password:</label>
    <input type="password" size="10" name="password" />
    <input type="submit" />
</fieldset>
</form>

Sınıfınız:

class LoginForm extends Zend_Form
{
    public function init()
    {
        $username = $this->createElement('text','username');
        $username->setRequired(true);
        $this->addElement($username);

        $password = $this->createElement('password','password');
        $password->setRequired(true);
        $this->addElement($password);        
    }
}

Form sınıfının her elemanı kendi elemanları gereksinimleri vardır HTML Formu, yansıtır. Geri eylem form sınıfının bir örneğini oluşturun ve yazınızı doğrula/bu formu karşı vars alabilirsiniz:

$form = new LoginForm();
if ($this->_request->isPost()) {
    if ($form->isValid($this->_request->getParams())) {
        // do whatever you need to do
    } else {
        $this->view->errors = $form->getMessages();
    }
}

Bir grup senin formun üst kısmında hata mesajları, bu yöntemi kullanarak görüntüleyebilirsiniz.

Bu çok temel bir örnek, ama dekoratörler kullanmayı öğrenmek için zaman harcamadan formunuzun sunum üzerinde tam kontrol sahibi olmanızı sağlar. Zend_Form gücü çok, kendi doğrulama ve filtreleme özellikleri, kanımca. Bu sana güç verir. Ana geri bu görünümü HTML form komut dosyası form sınıfı ile eşitleme dışı olabilir gibi bir çözüm çizin.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • kev5124

    kev5124

    9 Kasım 2008
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008