Hi zusammen,
gegeben ist die Klasse "Record", die CActiveRecord in welcher eine
Validierung mittels einer rules()-Methode definiert sind. Beispielhaft:
public function rules(){
return array(
array('type', 'length', 'max'=>10),
array('content', 'ext.validators.ResourceRecordValidator'),
);
}
Für die Überprüfung von "content" habe ich entsprechend eine eigene
Klasse ResourceRecordValidator (extends CValidator) definiert, die
Validierung funktioniert auch soweit.
Ich benötige jedoch für die abhängige Überprüfung auch den Inhalt von
"type" - wie übergebe ich "content" zusammen mit "type" an meinen
Validator ext.validators.ResourceRecordValidator.
Hintergrund: Abhängig vom type müssen unterschiedliche Validierungen
des "content" erfolgen.
Besten Dank,
Wayne
Page 1 of 1
Frage Zu Validator-Extension
#2
Posted 09 October 2012 - 04:15 AM
In CValidator überschreibst du die Methode
Die Variable $object verweist dabei auf dein Model. In dem Fall kannst du also mittlels $object->type auf den gewünschten Wert zugreifen.
z.B.:
Record.php
ResourceRecordValidator.php:
protected function validateAttribute($object,$attribute)
Die Variable $object verweist dabei auf dein Model. In dem Fall kannst du also mittlels $object->type auf den gewünschten Wert zugreifen.
z.B.:
Record.php
public function rules(){
return array(
array('type', 'length', 'max'=>10),
array('content', 'ext.validators.ResourceRecordValidator', 'typeAttribute' => 'type'),
);
}ResourceRecordValidator.php:
protected function validateAttribute($object,$attribute)
{
[...]
$object->{$this->typeAttribute};
[...]
}
#3
Posted 09 October 2012 - 04:45 AM
Hi,
aaaaah - ist ja total einfach - danke dir für deine Rückmeldung. Ich werd's gleich mal versuchen
LG,
Wayne
aaaaah - ist ja total einfach - danke dir für deine Rückmeldung. Ich werd's gleich mal versuchen
LG,
Wayne
Share this topic:
Page 1 of 1

Help












