No-komut ile bir form ve görüntü hataları yeniden doldurmak için en iyi yolu nedir?

4 Cevap php

Ben form doğrulamaları ve bazı diğerleri için ajax çağrıları kullanan bir uygulama inşa ediyorum, sorun ben bu doğrulama hataları hiç css ile yeni bir sayfa gösterir zaman seviyorum ve tamamen JavaScripts olmadan reset alır formu kalmamasıdır.

Ben bu yüzden, onu tekrar tekrar formlar aracılığıyla gitmek kullanıcı için oldukça can sıkıcı olacak bir düzine formları bahsediyorum.

Ben bu konu hakkında bazı cevaplar okudum, ama belirli bir şekilde, (form doğrulama çizgisinde daha fazla) böyle bir durum için en iyi uygulama var mı?

Özür dilemek bir cevap varsa zaten.

Edit:

Tüm doğrulamaları şu hataları ajax yardımıyla görüntülenir ediliyor, sunucu tarafında yapılır. Ne istiyorum formu işlenirken bir hata oluşursa javascript olmadan formu ve ekran hataları repopulating için uygun bir yöntemdir.

4 Cevap

Ben size sunucuda doğrulamak olmadığını sorunuzun tarafından ima ediyorsanız emin değilim - oldukça Açıkçası formları sadece Javascript devre dışı ile baypas edilebilir gibi bu büyük bir güvenlik delik düşünülebilir. Istemci tarafı doğrulama yapmak için sadece güzel ederken, sunucu her zaman doğrulamak zorunda.

Eğer iyi bir çerçeve kullanmak Dahası, sayfa yeniden yüklendiğinde formları kendilerini reset sahip "sorun" tartışmalı olur - Python, Django hataları durumunda formları otomatik doldurur. PHP, CakePHP ve CodeIgniter de yapmak ve çerçeveler uzak soyut gerekiyordu ki "ortak görevler" kategorisi altında düşüyor gibi, en iyi çerçeveler bunu eminim.

Ben bir çerçeve kullanarak değilim zaman, ben ihtiyaç doldurur benim kendi küçük Form sınıfı yazmak.

EDIT:

Ben size plug-in yaparsın formu yeniden doldurmak için mümkün olması ne şeyin farkında değilim. Yapabileceğiniz en iyi şey en fazla 1 saat sürer ki, bunun için kendi küçük sınıf yazıyor.

Ne normalde (PHP kullanmak) bir oturum değişkeni bir dizideki tüm hata dizeleri depolamak olduğunu. Sunucu tarafında bir hata varsa, geri form sayfasına kullanıcıyı yönlendirmek oturumda var kontrol ve uygun şekilde hataları görüntüler. Eğer bunu görüntülemek sonra belleği boşaltmak için oturum var unset emin olun. Bir oturumda var değerler - aynı formu repopulating için de geçerli.

Form doğrulama, daha sonra istemci üzerinde, ilk sunucu üzerinde yazılı olmalıdır. Herhangi bir durumda, sunucu üzerinde doğrulama olmalıdır. Sitenize form doğrulama gibi bir operasyon gibi basit ve gibi önemli bir şey için Ajax güvenmeyin. Göze batmayan scripting kullanarak, varsayılan form gönderme önlemek ve daha sonra Ajax kullanarak formu işleyebilir. Aksi takdirde, geçmesi ve bir sunucu tarafından oluşturulan doğrulama sayfası ile yanıt teslim izin.

Sunucu-tarafta doğrulaması gerçekleştirmek ve formları yeniden doldurmanız.

AJAX Doğrulama nice, ama zorunlu olamaz. Bu nedenle, bu doğrulamaları AJAX olur olsun ya da gerçekleştirilebilir olmak için daha etkilidir. Ben doğrulamaları işlemek ve javascript olanlar için JSON hataların bir dizi geri iletebilirsiniz ikinci bir yol önermek istiyorum. Ama javascript olmadan olanlar için, senin doğrulamaları çalışacaktır tek yolu sunucu tarafında geçer.

Eğer gerçekten ne yazık ki, bu bir seçim alamadım. Kundakçı ile herhangi yarıya iyi bir programcı veya korsan, javascript düzenlemek kanca ayırmak ve onun tarafında yapmaya çalışıyoruz çevresindeki her şeyi elde edebilirsiniz: paranoyak olacak ve sunucu tarafında doğrulama zorlamak.