veri formu yönetmek için benim Symfony projede yeni bir strateji kullanmak istiyorum.
Ben Symfony Form nesnesini kullanmak istemiyorum, ama ben onları inşa etmek modelini kullanmak istiyorum.
Ben Taban Doctrine_Record sınıfını redeclare istemiyorum, bu yüzden yeni bir Doctrine_Template yazdı: ExtendedModel.
ExtendeModel şablonda ben yeni nesneleri ve yöntemleri var, ama ben Doctrine_Record bir doğrulama () işlevi geçersiz kılmak gerekir.
Ben denedim
class ExtendedModel extends Doctrine_Template {
[...]
public $validatorSchema;
public function setValidatorSchema(sfValidatorSchema $validatorSchema) {
$this->validatorSchema = $validatorSchema;
}
public function getValidatorSchema() {
return $this->validatorSchema;
}
public function validate() {
$this->getInvoker()->setup();
$errorStack = $this->getInvoker()->getErrorStack();
if ($this->getValidatorSchema()) {
try {
$this->getValidatorSchema()->addOption('allow_extra_fields', true);
$this->getValidatorSchema()->clean($this->getInvoker()->toArray(false));
} catch (sfValidatorErrorSchema $errorSchema) {
$errorStack = $this->getInvoker()->getErrorStack();
foreach ($errorSchema->getErrors() as $key => $error) {
/* @var $error sfValidatorError */
$errorStack->add($key, $error->getMessage());
}
}
}
$this->getInvoker()->validate();
}
}
ama Doktrin orijinal validate () işlevini kullanın.
Benim Doctrine_Template içine bildirilen yeni yöntem ile bazı Doctrine_Record işlevleri geçersiz istiyorum.
Bana bu sorun için bir çözüm önerebilir misiniz?
Tnx!