MVC deseni Doğrulama Katman

4 Cevap php

Nerede modeli tarafından kullanılacak verileri doğrulamak için en iyi yerdir. Örneğin, kayıt formu düşünün. Biz kayıt formu gelen bazı veriler var. Peki bu data.We ifadeler ya da özel validator sınıf ise her verilerini kontrol etmelisiniz doğrulamak için en iyi yer olduğunu, ve bu kodlama çok anlamına gelir, bu yüzden bunu yapmak için yerdir öğrenmek istiyorum.

Controller? veya Model?

Both? Because some of the data should be validated by other models?

Eğer kesin cevap hakkında emin değilseniz, her iki yönde olası avantaj ve dezavantajları bulmaya çalışın lütfen.

4 Cevap

Gerçek kontrol muhtemelen görünümü düzeyinde (belki javascript veya UI ipuçları ile) hem de ve modeli düzeyde yapılmalıdır iken doğrulama verilerinin kaynağı modelinde olmalıdır. Titiz görünümü dahil olması gerektiğini önereceğim ama ben katılmıyorum.

Modellerinizde doğrulama koymak denetleyicileri bir demet doğrulama kodu tekrarlamak zorunda engeller.

doğrulama bence modeli ve görünümü hem de yapılmalıdır.

Kesinlikle denetleyicisi, kendi tek görevi sadece birbirleri ile istek / yanıt ve familarize modeli ve görünümü kontrol edilmelidir. Iş modeli bunu. Bir eğer-tabloların demet, ama sadece kullanarak bir for döngüsü ve soyut bir doğrulama çerçevesinde.

Görünümünde doğrulama yalnızca kullanıcı deneyimini geliştirmek için yapılmalıdır. Webapps görünümü temelde bir HTML sayfası. Bu doğrulama istemci tarafında tamamen çalışan hangi Javascript ile mümkündür. İstemci bu onu devre dışı / hack olarak üzerinde tam denetime sahiptir. only kullanıcı deneyimi (yani daha hızlı tepki, içeriğinde hiçbir flaş) geliştirmek için JS doğrulama kullanın. Hala daha iyi sağlamlık için sunucu tarafında (aynı) doğrulama yapmak.