Sie sind nicht angemeldet.

    1

    Samstag, 2. Juli 2011, 17:09

    JavaScript Validierungs library

    Hi,

    ich habe in den letzten Tagen an einer Validierungs Bibliothek in JavaScript gearbeitet. Die Bibliothek stellt diverse Methoden zum Validieren von Strings (zum Beispiel für Formulare) bereit.

    Ich stelle die library hier frei zur Verfügung. Wer will kann sie sich hier downloaden:
    http://iwebaholic.gidix.de/validate/validate.js

    Oder auch direkt verlinken (für direkte Updates). ;)
    Über Kritik und Verbesserungsvorschläge würde ich mich freuen. (:

    Noch ein paar Sachen:
    • Die library übernimmt nicht alles, sondern lässt bewusst Freiraum.
    • Man übergibt einer Methode einen String, die Methode liefert einen boolean zurück (true oder false)
    • Zur Sicherheit sollte man immer noch einmal mit PHP validieren, falls JS deaktiviert ist!
    • Sämtliche Methoden beginnen mit Validate.

    Ein Beispiel:

    Quellcode

    1
    
    Validate.notEmpty("Hallo"); // Liefert true zurück, da der String nicht leer ist. 


    Kurze Erklärung aller Methoden:

    Zitat

    Validate.notEmpty(string): Ist der String nicht leer?

    Validate.noWhitespace(string): Ist kein Whitespace vorhanden?

    Validate.minLength(string, minimal): Hat der String mindestens [minimal] Zeichen?

    Validate.maxLength(string, maximal): Hat der String weniger Zeichen als [maximal] ?

    Validate.hasLength(string, minimal, maximal): Fasst minLength und maxLength zusammen.

    Validate.minValue(string, minimal): (für Zahlen): Ist die Zahl mindestens [minimal] groß?

    Validate.maxValue(string, maximal): (für Zahlen): Ist die Zahl kleiner als [maximal] ?

    Validate.hasValue(string, minimal, maximal): (für Zahlen): Fasst minValue und maxValue zusammen.

    Validate.email(string): Entspricht die Email dem Muster einer normalen Email? (wie: max@mustermann.de)

    Validate.url(string): Entspricht die URL dem Muster einer normalen URL? (wie: www.maxmustermann.de) | http:// (oder https) und www sind optional!

    Validate.numeric(string): Besteht der String nur aus einer Zahl? (nur Integeres | ganze Zahlen)

    Validate.decimal(string, sprache): Besteht der String aus einer Nachkomma zahl? (Akzeptiert auch ganze Zahlen). Sprache ist standardmäßig auf "de". Wenn "us" angegben wird, wird nach Komma Zahlen mit einem Punkt zum Trennen gesucht. Sonst nach einem Komma zum Trennen.

    Validate.letters(string): Besteht der String nur aus Buchstaben?

    Validate.alphanumeric(string): Besteht der String nur aus Buchstaben und Ziffern? (Unterstrich ist auch deaktiviert)

    Validate.phone(string): Entspricht die Telefonnummer dem normalen Muster einer Telefonnummer?

    Validate.date(string, trennzeichen): Entspricht das Datum einem gültigem Datum? (z.B.: 2/7/2011). Als Trennzeichen sind "/", ".", "-" und " " möglich. Standard ist ersteres. Validate.string("02 07 2010", " ") gibt true zurück

    Validate.fullDate(string): Volles Datum wie: 02. Juli 2011. Der Punkt hinter der ersten Zahl darf auch weggelassen werden.

    Validate.fullDateUS(string): Volles englisches Datum wie: 02. July 2011. Der Punkt hinter der ersten Zahl darf auch hier weggelassen werden.

    Validate.script(string): Enthält der string einen potenziell schädlichen HTML Code, zum Nachladen von Schadcode, wie object, script oder applet
    Das waren alle Methoden. Falls jmd Verbesserungsvorschläge oder Ideen für weitere hat, bitte unten eine Antwort schreiben! :)

    Hier ein kleines Beispiel wie die Validierung aussehen könnte: http://jsbin.com/udedar

    // Irgendwie buggen die Codes hier drinnen. Deswegen musste ich auch nochmal editieren. Wer sich den Code ansehen möchte: http://jsbin.com/udedar/edit

    Ich habe das Beispiel extra klein gehalten, und daher auf Styles oder divs für Fehlermeldungen verzichtet. ;)

    Über Feedback würde ich mich freuen! Falls es jmd. nutzt, kann er ja unten antworten.

    LG
    iWebaholic
    jQuery Einführung & Crashkurs: [JavaScript] jQuery Einführung & Crashkurs

    Kenntnisse:
    [X]HTML[5]: 9.5/10
    CSS[3]: 10/10
    JavaScript: 8.5/10
    jQuery: 9/10
    PHP: 1/10
    C#: 6.5/10

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »iWebaholic« (2. Juli 2011, 21:02) aus folgendem Grund: Irgendwie wurde unten mein Text abgeschnitten. :/


    2

    Samstag, 2. Juli 2011, 17:12

    Sehr schönes Skript! Leider hast du vergessen zu erwähnen unter welcher Lizenz es steht ;).

    3

    Samstag, 2. Juli 2011, 18:18

    sieht sehr gut aus von dem, was ich hier lesen kann - keine Zeit zum Testn oder ähnliches. Ich würde dir aber raten dafür mal nen github oder so zu erstellen und da ein wenig Werbung zu machen.

    Desweiteren, bei Telefonnummern und Postcodes, letzteres hast du nicht (noch), solltest du vielleicht die Möglichkeit geben dass man sagen kann aus welchem Land. In UK, US, DE sind die aufjedenfall deutlich anders und von anderen Ländern will ich gar nicht sprechen. Vielleicht könntest du ja für die EU Länder und US Vorgaben machen, sollte denke ich reichen! Das wäre eine kleine Cocktail Kirsche auf deiner library.
    Alles Gute,
    WIT :angel:


    PHP Nachschlagewerk: http://www.php.net
    Warum W3Schools *doof* ist : http://w3fools.com/
    Alles andere: http://www.google.com
    Wie man Fragen stellt: http://www.catb.org/~esr/faqs/smart-questions.html
    SMART GOALS: http://www.topachievement.com/smart.html

    4

    Sonntag, 3. Juli 2011, 14:17

    Sehr schönes Skript! Leider hast du vergessen zu erwähnen unter welcher Lizenz es steht ;).

    Ich würde sagen es ist seine Lizenz oder nicht?!

    Da er ja auch schreib das er dran gearbeitet hat und das er für Verbesserungsvorschläge offen ist ;)


    Zum Thema:

    Ich finde es Klasse mach weiter so... :thumbup:

    5

    Montag, 4. Juli 2011, 16:16

    Danke für das Feedback. :)

    Zur Lizenz:
    Steht unter keiner der großen Lizenzen (cc etc). Aber folgendes:
    • Kostenlos benutzbar und veränderbar
    • Veränderung darf nicht veröffentlicht werden
    • Sämtliche Rechte zur Verbreitung liegen bei mir

    @wit: Mit github überlege ich mir noch. Englische Telefonnummern funktionieren bereit, auch mit der Ländervorwahl (+44 für UK, +49 für DE). Postcodes == Postleitzahlen? Wenn ja kann man deutsche ja mit hasLength(4,5) und numeric simulieren. :P
    jQuery Einführung & Crashkurs: [JavaScript] jQuery Einführung & Crashkurs

    Kenntnisse:
    [X]HTML[5]: 9.5/10
    CSS[3]: 10/10
    JavaScript: 8.5/10
    jQuery: 9/10
    PHP: 1/10
    C#: 6.5/10

    Ähnliche Themen

  • Grufix-Board.de - GFX Webdesign Foto & Coding Community

    Grafik-Tutorials | Coding-Tutorials | Ressourcen | SEO | Webdesign | HTML5
    W3C Validator