fbpx

Code-Quicky: Eingabevalidierung und Zeitdaten

Inhalt
    Add a header to begin generating the table of contents

    Heute ein Quicky aus der Community:

    Akzeptierte und nicht akzeptierte Datums und Zeitwerte.
    Beispiel: Ein User darf nur eine Zeit eingeben. Diese darf über 24 Stunden gehen, soll aber dem System 00:00 folgen. Alle falschen Eingaben sollen geblockt werden.

    Mein Verständnis der Frage: 
    Der Benutzer kann einen String im Format “00:00” eingeben. Also zum Beispiel “14:32” oder “32:48”.

    Bei der Eingabe selbst wird nicht unterschieden, ob es sich um eine valide Zeit, also kleiner gleich 24h handelt, oder nicht. Das soll im Nachgang in der Funktion entschieden und ggf. blockiert werden.

    Da es sich um einen String handelt, können wir ihn einfach in Stunden und Minuten aufteilen und die beiden Teile separat betrachten:

    def validate_time(time):
        hours = int(time.split(':')[0])
        minutes = int(time.split(':')[1])
        
        if hours < 0 or hours > 24:
            return False
        if minutes < 0 or minutes > 59:
            return False
    
        return True

    Mit der Funktion zerlegen wir den übergebenen String erstmal in Stunden und Minuten.
    Anschließend lassen sich die Stunden prüfen, dass sie zwischen 0 und 24 liegen und die Minuten, dass sie zwischen 0 und 59 liegen.
    Trifft eins von Beiden nicht zu, geben wir ein “False” zurück und signalisieren, dass die eingegebene Zeit ungültig ist.

    Natürlich sind hier nicht alle möglichen Fälle abgedeckt. Es soll lediglich einen Anhaltspunkt geben, wie so eine Validierung gemacht werden kann.

    Der Wert “24:01” wird zum Beispiel als “True” validiert.
    Je nach Bedarf können weitere if-elif-else Bedingungen eingefügt und entsprechend verknüpft werden.

    Wenn du auch Fragen hast oder Hilfe benötigst, schau gerne in der kostenlosen Discord Community vorbei!
    Hier sind Anfänger und Fortgeschrittene unterwegs, die sich gerne gegenseitig unter die Arme greifen.

    Bis zum nächsten Mal!

    Ingo Janßen

    Ingo Janßen

    Lerne nicht einfach programmieren. Löse Probleme und automatisiere Aufgaben!

    Das könnte dich auch interessieren

    Nach oben scrollen
    Newsletter Popup Form

    Keine Inhalte mehr verpassen?

    Melde dich direkt für den "Code-Kompass" an und erhalte nützliche Tipps und Informationen direkt in deinen Posteingang.