DataAnnotations StringLength Attribut MVC - ohne Maximalwert
Ich bin mit Anmerkungen zu Daten für die Modellvalidierung in MVC4 und bin derzeit mit dem StringLengthAttribute jedoch möchte ich NICHT geben Sie einen maximalen Wert (zurzeit 50), aber TUN wollen, geben Sie eine minimale string-Länge-Wert.
Gibt es eine Möglichkeit, nur geben Sie nur eine minimale Länge? Vielleicht eine weitere Eigenschaft, die ich verwenden kann?
Mein aktuelle code:
[Required]
[DataType(DataType.Password)]
[Display(Name = "Confirm New Password")]
[StringLength(50, MinimumLength = 7)]
[CompareAttribute("NewPassword", ErrorMessage = "The New Password and Confirm New Password fields did not match.")]
public string ConfirmNewPassword { get; set; }
Jede Hilfe wird sehr geschätzt.
InformationsquelleAutor der Frage davey1990 | 2012-07-09
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit dem standard-Daten-annotation, Nein. Sie müssen angeben, dass die MaximumLength. Nur die anderen Parameter sind optional.
In einem solchen Fall, würde ich empfehlen, so etwas wie dieses:
Können Sie auch mit einem Regex (regulärer Ausdruck) - Attribut wie dieses:
Mehr dazu hier: Passwort Stärke Validierung mit Regulären Ausdrücken
InformationsquelleAutor der Antwort Leniel Maccaferri
Gibt es die [MinLength(7)] - Attribut als gut für diesen Zweck.
Quelle: https://msdn.microsoft.com/en-us/library/system.componentmodel.dataannotations.minlengthattribute(v=vs. 110).aspx
InformationsquelleAutor der Antwort BigTone
Haben Sie gedacht, das entfernen der Daten Anmerkungen und fügen Sie ein Html-Attribut zu den Html -.TextBoxFor element in Ihrem Blick?
Sollte ungefähr so Aussehen:
oder
10 wird die minimale Länge, die Sie wählen.
Ich möchte hinzufügen, html-Attribute, um meine Ansicht, wie kann ich so schnell die Auswirkungen sehen, die es hat. ohne messing mit Ihrer Datenbank und nicht verlangen, dass Sie zum ausführen von Migrationen und die Datenbank update, wenn Ihr mit Migrationen (code first Ansatz).
nur daran erinnern, dass, wenn Sie ändern die "EditorFor" zu TextBoxFor verlieren Sie Ihre styling sollte aber leicht zu beheben, wieder Sie können einfach fügen Sie die Stile auf Ihre anzeigen oder fügen styling zu Ihrem CSS-Datei.
Hoffe, das hilft 🙂
InformationsquelleAutor der Antwort Francois Muller
Schöne Arbeit, Francois,
Es scheint, Sie können keine Daten Anmerkungen zu emittieren, ein maxlength-Attribut auf das input-Feld. Es stellt nur client-seitige Validierung.
Mit maxlength mit HTML-Attributen erstellt das Eingabefeld mit der maxlength richtig eingestellt.
InformationsquelleAutor der Antwort Madog