Benim çerçevesi için ben form doğrulama sorunu çözmek için bu kavramı yazdım. Ben bu çerçeve kullanıcı için mümkün olduğunca basit olmasını istiyorum.
Her Formu (= nesne) bir veya birçok FormElements (= nesneler) sahiptir. Her FormElement 0-n FormValidators (= nesne) olabilir. Her şeyi kolayca arkaplanı (basit bir sürükle & bırak şeyler) aracılığıyla yapılandırılır.
Form görünümü işlendiğinde, tüm FormElements üzerinde döngüler, ve bunların her biri için tüm ilişkili FormValidators üzerinde döngüler. Bu şekilde istemci tarafında formunu doğrulamak için tüm gerekli JavaScript kurar.
Bir FormValidator sadece bu yedi şeyi tanımlayan bir hafif nesnedir:
- Doğrulama programı sınıfın PHP sınıf adı
- çağrılmalıdır doğrulama programı sınıfının yöntem adı
ek argüman (virgülle ayrılmış değerler) için bir dize
Doğrulama programı JavaScript "sınıf" adını
- Çağrılmalıdır "yöntemi" adı
bir ek argüman için (virgülle ayrılmış değerler) tring
Bir biçimlendirilmiş bir hata mesajı içeren bir ilişkili nesne ErrorInfo
Bu doğrulama yöntemlerinin her veri girişi ile ilk argüman olarak bir giriş değişkeni alır. Bazı kural (lar) maçları ve DOĞRU veya YANLIŞ dönerse bu yöntemlerin her sadece girişini kontrol edin.
When the form is submitted, an FormDataManager is created and receives: - the Form object (so it knows from where the data came from) - the input data (typically $_POST)
Daha sonra sadece tüm FormElements üzerinde dolaşır, tüm FormValidators denetler, ve bir şey geçersiz ise, bu hata iletileri dizi geçirilen Formu yeniden yükler. Her şey ince ise, veri daha fazla (yani db saklanan) işlenir.
Bu tasarımda iyileştirmeler var mı? Ben kaçırdım şey?