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
-~----------~----~----~----~------~----~------~--~---