Zend uygulaması üzerinde çalışıyorum, ancak Zend ile çok fazla deneyimim yok, bu yüzden sadece RubyOnRails deneyimime güveniyorum.Zend Model doğrulama
Çift makalelerden, doğrulamanın çoğunun Formlar düzeyinde - Zend_Form ile - uygulandığını buldum. Ama benim için biraz garip görünüyor - nasıl model düzeyinde bir doğrulama var - form verileri dayalı bir model oluşturmak ve $model->isValid();
gibi smth çalıştırmak, form istekleri olmadan bazı modeller oluştururken anlamlıdır.
Benim şu anki modelin akışı:
ProductMapper extends Zend_Db_Table
Product extends Zend_Db_Table_Row
Ve ben sadece isValid
yönteminin içine RegExp ile doğrulama yapabileceği farkındayım ama İsterdim ben
$mapper = new ProductMapper();
$product => $mapper->find(...);
// Do some staff with this model
// And want to check if it's valid before saving
if ($product.isValid()) {
$product.save(); // Zend_Db_Table_Row method
} else {
...
}
gibi bir şey yapıyorum verilen addValidator
, addFilter
gibi Zend_Form
'dan zaten uygulanan yöntemleri ve tüm bu kullanışlı şeyleri kullanmak.
Ayrıca, Zend'deki modelleri yönetmenin bu doğru yolu nedir?
Herhangi bir yardım veya öneri çok takdir edilecektir! Sen Zend_Form aynı filtreleri ve/veya doğrulayıcılarını kullanabilirsiniz ancak yapabileceğiniz bu
$validator = new Zend_Validate_Allnum();
if ($validator->isValid($data)
do some code
veya
$filter = new Zend_Filter_StringTrim();
$filteredVal = $filter->filter($val);
gibi böylece satır sınıfında kendi yöntemi isValid() oluşturabilir
Tahmin edilmesi kolay görünüyor. Zend lib klasörünü kontrol etmeliydim :) Teşekkürler! – fantactuka