Ich würd dir empfehlen, das $validate-Array in der Form wegzulassen,
und die überprüfungen komplett alle in eigenen funktionen machen.
z.b.
public function check_blz() {
    if(...)) {
        # Hier kannst du nun irgendwelche Regex- oder String Ausdrücke
drüberlaufen lassen, o.ä.
    }
}

lx schrieb:
> Hallo,
>
> ich wollte mal fragen, wie der beste Weg ist, um eine Validierung von
> Formularfeldern in Abh�ngigkeit von von anderen Felder durchzuf�hren.
>
> Beuspiel: man hat ein select-feld "Zahlweise", mit den Optionen
> "Bankeinzug", "Vorab�berweisung", "auf Rechnung".
>
> Wenn ich nun Bankeinzug w�hle dann muss auch gepr�ft werden, ob die
> Felder "Bank", "kontonr", "blz" ausgef�llt sind. Wenn ich hingegen
> "auf Rechnung" w�hle sollen diese Felder nat�rlich nicht �berpr�ft
> werden.
>
> Mein Ansatz scheint mir etwas kompliziert:
>
> MODEL
> var $validate = array('blz'      => array('rule'           =>
> 'bankpruefung_blz',
>                                                       'message'   =>
> 'blz fehlt!'),
>                               'konto'  => array('rule'           =>
> 'bankpruefung_konto',
>                                                       'message'   =>
> 'kontonr feht!'));
>
>
> function bankpruefung ($field) {
>         return ($this->data['xyModel'][$field]!='');
> }
> function bankpruefung_blz () {
>         return $this->bankpruefung('blz');
> }
> function bankpruefung_konto () {
>         return $this->bankpruefung('konto');
> }
>
> Wie man sieht habe ich eine eigene Pr�ffunktion schreiben wollen
> (bankpr�fung), konnte der aber keinen Parameter mitgeben, sodass ich
> einzelne Funktionen aufrufe, die entsprechend heissen
> (bankpruefung_blz bzw. bankpruefung_konto) die wiederrum die
> eigentlich Pr�ffunktion (bankpr�fung) aufrufen und das zu pr�fende
> Feld �bergeben.
>
> Geht zwar, aber es muss doch auch einfacher realisierbar sein.
> Gru�
> lx

--~--~---------~--~----~------------~-------~--~----~
Sie erhalten diese Nachricht, weil Sie Mitglied sind von Google Groups-Gruppe 
"CakePHP-de für deutsche CakePHP Entwickler".
 Für das Erstellen von Beiträgen in dieser Gruppe senden Sie eine E-Mail
an [email protected]
 Um sich von dieser Gruppe abzumelden, senden Sie eine E-Mail an [EMAIL 
PROTECTED]
 Weitere Optionen finden Sie in dieser Gruppe unter 
http://groups.google.com/group/cakephp-de?hl=de
-~----------~----~----~----~------~----~------~--~---

Antwort per Email an