it-swarm.com.de

Was ist der beste Weg, um Datumsüberprüfungsfehler anzuzeigen?

Ich führe eine Datumsüberprüfung auf mehreren Formularen durch. Diese Validierung beinhaltet die Sicherstellung, dass ein Datum nicht auf ein Wochenende fällt, nicht auf einen wichtigen Feiertag, mindestens 3 Werktage ab dem aktuellen Datum.

Derzeit werden die Fehlermeldungen einzeln angezeigt. Wenn das Datum auf einem Wochenende liegt, stoppe ich und sende die Nachricht zurück. Wenn das Datum nicht an einem Wochenende, sondern an einem Feiertag liegt, halte ich an und sende die Nachricht zurück. Usw. usw ..

Ich habe neulich eine Website besucht, auf der mehrere Datumsszenarien gleichzeitig überprüft wurden, und die Nachricht zurückgegeben.

Ich frage mich, was jeder für die beste Möglichkeit hält, diese Fehler anzuzeigen - einzeln oder in einer Kombination.

  1. Eins nach dem anderen:

    • wenn der Benutzer einen Samstag/Sonntag auswählt:
      • "Bitte wählen Sie ein Datum, das nicht auf ein Wochenende fällt."
    • wenn der Benutzer das Problem behebt, aber einen Feiertag auswählt, gilt Folgendes:
      • "Bitte wählen Sie ein Datum aus, das nicht auf einen Feiertag fällt."
    • wenn der Benutzer das Problem behebt, aber morgen auswählt, gilt Folgendes:
      • "Bitte wählen Sie ein Datum aus, das mindestens 3 Werktage entfernt ist."
  2. Alles auf einmal:

    • wenn der Benutzer ein Wochenende, einen Feiertag oder morgen auswählt, dann:

      • "Bitte wählen Sie ein Datum, das nicht auf ein Wochenende fällt."
      • "Bitte wählen Sie ein Datum aus, das nicht auf einen Feiertag fällt."
      • "Bitte wählen Sie ein Datum aus, das mindestens 3 Werktage entfernt ist."

        1. Eine Kombination
    • wenn der Benutzer einen Samstag/Sonntag oder einen Feiertag auswählt:

      • "Bitte wählen Sie ein Datum, das nicht auf ein Wochenende fällt."
      • "Bitte wählen Sie ein Datum aus, das nicht auf einen Feiertag fällt."
    • wenn der Benutzer das Problem behebt, aber morgen auswählt, gilt Folgendes:
      • "Bitte wählen Sie ein Datum aus, das mindestens 3 Werktage entfernt ist."

Zu Ihrer Information, die Auswahl bestimmter Werte einfach nicht zuzulassen, schließt die Notwendigkeit einer Validierung nicht aus. Vergiss nicht, jemand könnte etwas wie TamperIE oder Fiddler verwenden, um den Formularbeitrag zu manipulieren! Das Ausgrauen von Daten stoppt das Problem clientseitig, aber ich benötige noch eine serverseitige Validierung, um die Formularwerte nach dem Posten zu verarbeiten.

10
Eric Belair

Anzeige einer Fehlermeldung

Idealerweise möchten Sie eine Kombination Ihrer Vorschläge Nr. 1 und Nr. 2:

Please select a date that doesn't fall on a weekend or a holiday and is at least 3 business days from now.

Der Grund, warum dies die beste Option ist, ist, dass Sie dies einer Person sagen würden, wenn sie neben Ihnen stehen würde. Eine gute Faustregel für eine Fehlerkopie oder eine Mikrokopie ist, zuerst schreiben Sie es so, wie Sie es sagen würden und dann in das Modell einzupassen, das Sie haben. Da es sich bei Ihrem Modell um eine Fehlermeldung handelt, die angezeigt wird, wenn ein Benutzer mit einem Formular interagiert, ist es durchaus möglich, diesen Satz einfach auszudrucken.

Der schwierige Teil besteht darin, den Satz für verschiedene mögliche Fehler dynamisch zu machen, aber selbst das ist nicht besonders schwierig, wenn Sie im Voraus wissen, was schief gehen kann und welche Zustandskombinationen die Form haben kann.

Es muss überhaupt keine Fehlermeldung angezeigt werden

Ein weiterer Ansatz, den Sie wählen können, ist fragen Sie sich, warum Sie den Benutzer über diese Fehler informieren müssen. Was ist mit dem Formular, das dazu führt, dass Benutzer sie versehentlich ausfüllen? Warum erlauben Sie diese Möglichkeiten, wenn sie von der Geschäftslogik nicht zugelassen werden?

Sie können die dem Benutzer zur Verfügung stehenden Steuerelemente so ändern, dass sie keine ungültigen Situationen berücksichtigen. Beispielsweise kann das Datumsproblem mithilfe eines Kalendersteuerelements trivial behoben werden. In der Kalendersteuerung können Sie Wochenenden, Feiertage und Tage zwischen jetzt und drei Werktagen ab jetzt nicht mehr auswählen. Auf diese Weise müsste der Benutzer überhaupt keine Fehlermeldung erhalten. Denken Sie daran, durch Kopieren klar zu kommunizieren, warum das Kalendersteuerelement bestimmte Tage nicht zulässt.

13
Rahul

Ich würde alle Validierungskriterien auf einmal anzeigen, um die Irritation zu vermeiden, das Formular kontinuierlich einzureichen, bis Sie einige unsichtbare Kriterien erfüllen. Im Idealfall wird dies angezeigt, bevor ein Datum eingegeben wird

Ich möchte auch hervorheben, welches der Kriterien nicht genau verdeutlichen konnte, warum es in diesem Fall fehlgeschlagen ist, insbesondere bei solch komplizierten Kriterien.

Alles in allem ist die Einschränkung der Eingabe mithilfe einer Datumsauswahl eine noch bessere Route.

6
ICR

Zeigen Sie immer noch an, welche Bedingung (en) verletzt wurden

Geben Sie eine informativere Fehlermeldung:

"Daten sollten mindestens 3 Werktage in der Zukunft sein und nicht Feiertage oder Wochenenden."

Setzen Sie die relevanten Bedingungen, gegen die verstoßen wurde , fett .

Datumsauswahl?

Verwenden Sie einen Datepicker. Das kann es ihnen viel leichter machen. Grau die ungültigen Daten aus.

4
James Crook

Betrachten Sie eine Variation Ihrer zweiten Option: "Das Datum muss in mindestens drei Tagen an einem Wochentag und nicht an einem Feiertag liegen. Bitte wählen Sie ein neues Datum aus." Sie sollten dem Benutzer alle Regeln im Voraus mitteilen, anstatt ihn aus Mangel an Informationen mehrmals zum Scheitern zu bringen. Bei wiederholten "Bitte auswählen" sieht es jedoch so aus, als würden Sie mehrere Aktionen fordern.

(Ich persönlich neige dazu, die Sprache "Bitte korrigieren" zu überspringen. Indem ich das Formular nicht akzeptiere und einen auffälligen Fehler melde, glaube ich, dass ich das bereits übermittelt habe. Aber Sie haben nicht danach gefragt, also habe ich das Muster in meiner Antwort beibehalten.)

1
Monica Cellio