| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Hmm, dazu fällt mir jetzt auch gerade nichts Gescheites ein. Also wenn du keinen Overhead scheust, könntest du pro Formularelement ein Objekt anlegen und die Validierungen als Visitors dranklemmen, aber ob das wirklich das Gelbe vom Ei ist… Was ich dir allerdings empfehlen würde, ist die Formulare auf jeden Fall als Objekte aufzufassen. Der Validator kann dann über diese Objekte iterieren und die Werte validieren. Bei deinem Ansatz ist es bisher so, dass der Validator aus einer Ansammlung von Methoden zur Datenvalidierung besteht, die aber alle von außen angestoßen und mit Werten gefüttert werden müssen. Meiner Meinung nach ist die Validierung aber Aufgabe des Validators und deshalb sollte der Validator selbst auch die Validierung koordinieren. Just my 2 Cents, awaiting Doc's response. ![]() P.S. in deinem eigenen Interesse habe ich mal die E-Mail-Adresse aus dem Code entfernt.
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” |
| | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Also was Form Generierung + Validierung angeht fand ich Zend_Form sehr angenehm das nutzt noch Zend_Validate und Zend_Filter und damit lässt sich sehr schnell und einfach ein formular mit validierung, automatischem platzieren der fehlermeldungen im formular etc realisieren. Ich denke das haupt problem bei deinem beispiel ist, du hast eine Klasse, wenn du ne neue art der validierung willst, musst du die klasse erweitern. Bastel dir ein Interface das z.b. eine methode valid($value) [z.b. weitere noch für getErrors() oder so) und bau darauf alle deine "validatoren" auf. und dann erstellst du eine klasse auf dem interface dem man validatoren mit ner methode übergeben kann, so kannst du mehrere validatoren hinter einen klemmen und schon brauchst du nur noch eine klasse übergeben und machst im hintergrund multiple validierungen. z.b. finde ich isInt auch ... problematisch, ein wert der aus einem formular via post oder get kommt wird NIE ein int sein, auch wenn er nur aus zahlen besteht ist es ein string. numeric währe hier passender.
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
| | ||
| Moderator und Wett-König | Zitat:
* Formulare :: Adventure PHP Framework (APF) * Formulare :: Adventure PHP Framework (APF) Einziges Manko bisher ist, dass die Validatoren noch nicht so "hübsch" konfiguriert werden können wie die Filter (Stichwort: Erweiterung), bisher war der Satz an Validatoren jedoch ausreichend. @Andy: Folgende Anmerkungen habe ich zu deiner Klasse: - Wie kommt diese zur Anwendung in einem Formular-Element? - isPlz() sollte besser isZipCode() heißen? - isObject() wird bei Formularen wohl nicht benötigt werden, da keine (PHP-)Objekte übertragen werden können? - Wie bildest du Verkettung von Validatoren? Bei deiner Klasse müssten das n Aufrufe von Methoden gefolgt von isValid() sein, richtig?
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | |
| | |
| | |
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Hier mal ein Beispielcode den ich grad getippt, nicht sonderlich ordentlich, lässt sich noch stark erweitern, nur um das Schema mal zu zeigen was ich meinte, so in "etwa" läuft das ganze auch beim Zend Framework ab nur dass dort noch etwas mehr Funktionalität vorhanden ist. PHP-Code: Code: Formular ist nicht valide:
array
'Feld1' =>
array
0 => string 'Input "a" is too short, should be atleast 5 signs long' (length=54)
1 => string 'Input "a" does not contain "z"' (length=30)
'Feld2' =>
array
0 => string 'Input "asdfasdf" does not contain "u"' (length=37)
__________________ robo47.net - Blog, Codeschnipsel und mehr | |
| | |
| | |||
| Supermoderator HD Registriert seit: 16.03.2008
Beiträge: 8.425
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Zitat:
__________________ Refining Linux Advent Calendar series “24 Outstanding ZSH Gems” Geändert von Manko10 (28.12.2008 um 13:09 Uhr). | ||
| | |
| | ||
| Moderator und Wett-König | Zitat:
Siehe hierzu Formulare - Verkettung von Filtern. EDIT 2010: Die Implementierung hinsichtlich Verkettung von Filtern hat sich in der Version 1.11 geändert. Nun können wie auf http://adventure-php-framework.org/S...re-Validatoren beschrieben beliebige Validatoren auf ein Feld gehangen werden.
__________________ Viele Grüße, Dr.E. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Think about software design before you start to write code! 2. Discuss and review it together with experts! 3. Choose good tools (-> Adventure PHP Framework (APF))! 4. Write clean and reusable software only! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Geändert von dr.e. (28.06.2010 um 17:04 Uhr). Grund: Entfernung toter Link. | |
| | |
| | ||
| Moderator Registriert seit: 03.09.2004
Beiträge: 11.798
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Zitat:
Im Falle des Zend Frameworks sind die Form-Klasse und die Element-Klassen noch um einiges mächtiger, dort wird aus den Objekten direkt der HTML-Code erzeugt. Im View braucht man dort nur noch: PHP-Code:
__________________ robo47.net - Blog, Codeschnipsel und mehr | | |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| PHP: Formular Generator | Zergling-new | Tutorials | 16 | 06.07.2010 03:14 |
| Ergebnis von Formular in iFrame zeigen | PsychoEagle | HTML, Usability und Barrierefreiheit | 2 | 22.07.2009 21:07 |
| Problem mit Formular, Daten an datenbank senden | Aurec | PHP Tipps 2008 | 11 | 20.11.2008 18:17 |
| Formular Pflichtfelder für Frontpage Formular erstellen | Caruso | JavaScript, Ajax und mehr | 5 | 21.06.2008 09:17 |
| Wert aus Textfeld in neues Formular übernehmen (kein Submit) | PsychoEagle | HTML, Usability und Barrierefreiheit | 9 | 02.01.2007 14:51 |
| formular includen | samspa5 | PHP Tipps 2006 | 13 | 18.03.2006 11:37 |
| [Erledigt] Formular in Formular | HTML, Usability und Barrierefreiheit | 4 | 19.10.2005 12:18 | |
| [Erledigt] PHP Formular ~~wichtig~~ | PHP Tipps 2005 | 27 | 29.05.2005 19:38 | |
| [Erledigt] Im Formular user abfragen? | Datenbanken | 3 | 06.01.2005 10:51 | |
| [Erledigt] PHP Formular - Daten an nächsten Schritt weiter geben - Wie? | PHP Tipps 2005 | 14 | 02.01.2005 20:05 | |
| [Erledigt] Daten in einem Formular ausgeben und ändern | PHP Tipps 2004-2 | 7 | 07.12.2004 17:22 | |
| Wie implementiere ich mein Email Formular? | PHP Tipps 2004-2 | 2 | 14.11.2004 17:02 | |
| Brauche PHP Formular | Beitragsarchiv | 9 | 16.08.2004 16:23 | |
| [Erledigt] Formular mit Daten werden auf anderer Seite zusammengefasst | PHP Tipps 2004 | 4 | 15.08.2004 15:44 | |
| [Erledigt] Daten in neuem Formular anzeigen | PHP Tipps 2004 | 6 | 21.07.2004 10:44 | |