Endlos-If-Anweisungen
-
Hi,
Was haltet ihr von Endlos-If-Anweisungen?
Also ich arbeite gerade an einer Internetseite, wo man bestimmte Sachen angeben muss etc. Diese Sachen checke ich, bevor ich sie speichere noch einmal komplett (wenn auch schon direkt bei der Angabe geschehen) auf ihre Gültigkeit, um etwaige Fehler oder Browserinkompatibilitäten zu vermeiden.
Da kommt es leider vor, dass ich zwar nur eine if-Anweisung brauche, diese dann aber ca. 10 "&&" enthält, also in Wahrheit 10 if-Anweisungen.
Kommt man nicht drum rum und muss man diese if-Anweisungen gelegentlich benutzen oder gibts da auch elegantere Wege? (gerade was die Darstellungen angeht)cYa

-
wie wär's mit switch/case ?

-
Naja, man kann es nicht immer umgehen, gerade bei Eingabeprüfungen.
Man kann es aber auch so machen, das man die Prüfung in einer Funktion macht,
so wäre es denkbar, das eine Funktion bool zurück gibt, und nur true wenn alle übergebenen Strings einen Inhalt haben.
-
Joa sowas habe ich schon alles mehr oder weniger aufgeteilt, aber um mal das Beispiel aus dem Leben zu nehmen:
"Die" If-Anweisung, wo schließlich alles zusammenkommt hat 383 Zeichen
- und das alles in einer Zeile 
Also mit lesen/debuggen (ok bei PHP sowieso schwer) ist es da vorbei^^
-
Validator als Decorator des Textfeldes *Fachwörter schmeiß*
Du verrätst uns jetzt leider nicht die Sprache deiner Wahl, aber ich entwickle gerade eine ASP.NET-Seite und Validatoren sind echt nice

MfG SideWinder
-
Wat willst du?!
*de.wikipedia.org -> ahha*
Ok wirklich schlauer bin ich nun auch nicht
Naja, ich nutzte das übliche Webzeugs, HTML, Java Script, CSS, PHP.
Die Endlos-If-Anweisungen sind gerade bei PHP der Fall.
-
Wie waere es mit OOP?
interface Validator { function isValid($param); } $params = array(); $params[] = $param1; $params[] = $param2; // ... $validators = array(); $validators[] = new FooValidator(); $validators[] = new BarValidator(); // ... function isValidAll($params, $validators) { for ( $i = 0; $i < length($params); $i++ ) { if ( $validators[$i].isValid($params[$i]) == false ) return false; } return true; }
-
Sry, aber den Code check ich nicht

-
Pille456 schrieb:
Sry, aber den Code check ich nicht

Ist das jetzt eine Aufvorderung ihn zu erklaeren oder nicht?
In den Array $params machst du die einzelnen Parameter rein, in das Array $validators Speichert die Validatoren (Klassen, die das Validator Interface implementieren). Die Schleife fuehrt nun fuer jeden Parameter die Methode isValid() aus, dabei werden die Validatoren nach einander ausgetauscht.
Es muss dabei sicher gestellt sein, dass jeder Parameter auch in den richtigen Validator weitergegen wird. Also sollte man in das Array $validators Validatoren mit der gleichen Reihenfolge wie die Parameter in das Array $params reintun.Bahh ich hasse es code zu erklaeren. Dafuer musst aber schon wissen, was Klassen und Objekte sind.
-
Den Teil des Codes habe ich ja verstanden

Nur hab ich das Fachwortgeschwafel von wegen Valditor etc. gar nicht erst gecheckt.
Also einfach ausgedrückt - in einem Array pack ich alle Eingabe des Users rein und in einen anderen Array die Angaben, wann die Variablen Gültig sind und checke dann alles in einer For-Schleife oder nicht?