StringLength/Minlength Validierung nicht verhindern, dass Benutzer von der Buchung der form, für die kein Wert

Ich habe die folgende Eigenschaft auf meinem ViewModel

[StringLength(20, MinimumLength = 1, ErrorMessageResourceName = "Error_StringLength", ErrorMessageResourceType = typeof(Global))]
public string LeagueName { get; set; }

Wenn der string endet als, die größer als 20 Zeichen, die die überprüfung ausgelöst wird, und nicht zulassen, dass den Benutzer zum senden des Formulars. Jedoch, wenn das Feld leer ist, was bedeutet, dass die LeagueName Eigenschaft hat eine Länge von weniger als 1 wird es ermöglichen, dass der Nutzer das Formular.

Ich weiß, das ist leicht gelöst, indem mit dem Required-Attribut, aber warum ist die Validierung nicht wie erwartet funktioniert in diesem Szenario?

  • Es ist by design. Was, wenn Sie wollten ein Feld auf, außer entweder keine Eingabe oder wenn Eingabe dann zwischen 3 und 6 Zeichen?
  • Was macht Sie denken, dass dies ist das erwartete Verhalten?
Schreibe einen Kommentar