Showing user profile of selected author: - Michael *Byte* Haszprunar
Oct 19
Hi,

Ich bin bei einem Portal das ich programmiert habe über eine ziemlich fiese Sache gestolpert die ich euch nicht vorenthalten will. Im Prinzip geht es um ein Eingabefeld das ein Datum im Format "Monat/Jahr" (m/Y) erwartet.

Da ich schon ein paar Teiel vom Zend Framework verwendet habe wollte ich hier mal die geniale Funktion "isDate()" verwenden, die verspricht einen String gegen einen gegebenen Formatstring zu prüfen. In meinen Ohren klang das wie "Regex für Datum" und ich bin mir sicher ich bin nicht der Einzige dem das so geht.

Mein Formatstring war also "MM/yyyy", so wie es das ZF-Manual angibt. Es klappte zunächst auch wunderbar, denn "1/2009" wurde genau schön als true validiert wie "12/2009". Die Positives funktionierten also schonmal.

Aber das Problem ist: isDate() arbeitet nicht wie ein Regex. Es versucht nämlich - wie Excel auch - den Anwender zu bevormunden und irgendwie ein gültiges Datum zu erkennen. Das ist nicht nur nervig, es macht damit den Sinn des Ganzen zunichte. So wird ein String wie "03.2009" auch als true erkannt, obwohl in meiner Formatvorgabe ganz klar ein Slash drinsteht. Noch viel schlimmer ist dass total unsinniges Zeug auch als true validiert.

Ein Beispiel [1]:
isDate('1111','dd.MM.yyyy') ==> true WTF?
Hintergrund hier ist dass Zend_Date das so liest:
1111 -> 1.1.11 -> 01. Jan.2011 -> true

Erinnert wie gesagt stark an Excel wo genau dieses Verhalten auch jeden nervt weil es einfach nicht das tut was man dem Ding sagt sondern es tut das was es meint das man wollte. Es gibt echt nix Schlimmeres als Doftware die versucht intelligent zu sein statt einfach nur so zu funktionieren wie es sollte.

Spätestens mit dem letzten Beispiel hat isDate() für mich jeglichen Nutzen verloren. Aus dem "super, ich hab eine einfache Regex für Datumseingaben gefunden" wurde ein "verdammter Dreck, der macht ja alles falsch. Muss ich wohl doch selbst schreiben". Darüber hinaus wird isDate() auch bei Zend_Form_Validator_Date verwendet, also passt auf wenn ihr das verwendet, es kommt auch lauter komisches Zeug als true durch...

Byte gefrustet vom ZF

[1] nachzulesen ist das hier: Zend Bug #7583

Posted by Michael *Byte* Haszprunar

Defined tags for this entry: , , , ,
Bookmark Zend Date isDate() oder "Ich hasse Software die mich bevormunden will"  at del.icio.us Digg Zend Date isDate() oder "Ich hasse Software die mich bevormunden will" Technorati Zend Date isDate() oder "Ich hasse Software die mich bevormunden will"
Feb 25
Hallo PHPUG,

Ich hab gestern eine echte Perle im Heise Newsticker gefunden. Die Firma "Xenocode" bietet als Demo ihrer tollen Virtualisierungsprodukte an, sämtliche aktuellen Browser als Single-EXE rutnerzuladen und auszuführen.

Das heißt, dass man seien Webseiten und -applikationen nun ohne Umwege mit allen Browsern testen kann, auch mit IE6/7/8 parallel!

Ich habe bereits erste Tests damit gemacht, funktioniert einwandfrei. Beim IE hab ich nur festgestellt, dass Einstellungen unter allen Versionen geteilt werden, d.h. wenn amn im IE8 die Startseite verändert wirkt sich das auch auf eine installierte Version 7 aus. Wen das nicht stört bekommt damit ein komplettes Paket, das sich auch im USB-Stick schön mitnehmen lässt.

Viel Spaß!

Die Links hab ich natürlich auch noch:
http://www.xenocode.com/browsers/

Posted by Michael *Byte* Haszprunar

Bookmark Browser-Tests ohne Installation  at del.icio.us Digg Browser-Tests ohne Installation Technorati Browser-Tests ohne Installation
Jan 14
Aptana - einigen bekannt durch deren Editor Aptana Studio - hat die erste Beta seiner Javascript-Bibliothek "ActiveRecord.js" freigegeben.

Prinzipiell ist ActiveRecord.js ein Cross-Browser/Cross-Plattform ORM für JavaScript und arbeitet im Hintergrund mit verschiedenen Datenbanken von Browser Memory über Adobe AIR DB bis zu Gears zusammen ohne dass sich der Programmierer groß darum kümmern muss. SQL Anfragen gehören ebenfalls der Vergangenheit an, alle Objekte und Beziehungen werden in einer Art Pseudocode geschrieben.

Auf den ersten Blick fallen mir schon einige Anwendungsmöglichkeiten ein, z.b. das Schreiben von WebApps für den Browser und die anschließende Portierung auf AIR ohne großartige DB-Umstellungen.
Einfach irre was es in der ZWischenzeit alels für Javascript gibt...

Lasst euch inspirieren!

ActiveRecord Homepage: activerecordjs.org

Posted by Michael *Byte* Haszprunar

Bookmark Erste Beta von ActiveRecord.js  at del.icio.us Digg Erste Beta von ActiveRecord.js Technorati Erste Beta von ActiveRecord.js
Nov 7
Hallo Mit-PHP'ler

Ich habe ein Problem mit meiner WebApp und ich hätte gerne ein paar Tips von euch. Es kommt ja vor dass so DAU's auf der Webseit einfach so aus Spaß die Fignern icht von eienr Taste lassen können und einem tonnenweise un-umbrechbaren Text reinknallen (200 Zeichen lang nur 'm').

Meine erste Lösung war: JS-Version von wordwrap auf alle Felder jagen wo das passieren kann (es lebe das PHP.JS Projekt). 3 Zeilen jQuery später und ein paar Kilobyte reicher ging das alles super.

Das große ABER: das Zeug taucht nun auf einmal nicht nur auf einer Seite auf sondern überall UND ich will den HTML-Code eigentlich als Grundlage zum PDF generieren verwenden (mein Tip hier: TcPDF auf basis von FPDF), insofern scheidet (speziell wg. letztem Punkt) die JS-Lösung aus.

Continue reading "Wordwrap.."

Posted by Michael *Byte* Haszprunar

Defined tags for this entry: , ,
Bookmark Wordwrap..  at del.icio.us Digg Wordwrap.. Technorati Wordwrap..
Sep 30
Hallo Leute,

Ein kleines Sammelsurium von Dingen, für die sich ein volelr Beitrag nicht lohnt:

Google Developer Day 2008
Im Vergleich zum "Adobe on AIR" Event muss ich sagen dass ich von Google recht enttäuscht bin. Das lag zum Teil an der Organisation (von der UBahn nicht mal Wegweiser, für Leute von außerhalb damit kaum findbar; Vortragssääle total unterkühlt (amerik. Standard) ; WLAN instabil ; Essen...na ja, lassen wir das), aber auch die Vorträge waren eigentlich zu oberflächlich. Zu Google Chrome wurde nur das wiederholt was die Tage vorher bereits durch die Fachpresse und das Internet gerauscht ist, wenn man sich also einigermaßen damit beschäftigt hatte war der Talk sinnlos. "State of AJAX" war interessant, hatte aber gegenüber der Version von "Adobe on AIR" kaum Neues zu bieten. Besser wurde es am Nachmittag, auch als Java-Hasser fand ich GWT sehr interessant, speziell die zugrundeliegenden Ideen. Das Highlight für mic hwar das Vortrag zu Gears, mit dem ich mich noch nicht beschäftigt hatte, und der auch mal mit konkreten Codebeispielen glänzen konnte.

Fazit: Nächstes Jahr wohl nicht mehr


Microsoft und Nokia nutzen jQuery

Für mich die Nachricht der Woche, denn das wertet meine Lieblings-JavaScript-Bibliothek doch massiv auf. V.a. die Ankündigung dass es wohl von beiden Firmen Beiträge zu jQuery geben wird (also Extensions und evtl. Verbesserungen am Core) verspricht viel für die Zukunft. Ich persönlich hoffe auf mehr Bewegung bei jQuery UI, das ist - speziell im Vergleich mit Dojo - noch weit hinterher.


Kostenlose E-Books

Als Letztes noch eine Linksammlung, über die ich grade gestolpert bin. Sie enthält kostenlose E-Books zu Programmierthemen (zum Teil allgemein, zum Teil auf spezielle Systeme wie z.B. Joomla zugeschnitten) aber auch zu Linux, Internetrecht und vielem mehr. Linkliste (http://www.schmars-world.de/index.php/ueber-54-top-ebooks-ueber-informatik-und-das-web-2008-08-20/).

Viel Spaß!

Posted by Michael *Byte* Haszprunar

Bookmark Sammelsurium  at del.icio.us Digg Sammelsurium Technorati Sammelsurium

(Page 1 of 3, totaling 11 entries)