Hier ist meine Testklasse mit Datenannotationen:
%Vor%Hier ist mein Konsolen-Testprogramm:
%Vor%Aus irgendeinem Grund bekomme ich keine Gültigkeitsprüfung, wenn die Stringlänge zu lang ist. Ich erhalte (wie erwartet) eine Validierungsausnahme, wenn ich die Eigenschaft auf null setze und erneut validiere. Irgendwelche Ideen, warum meine Zeichenkettenlänge Annotation nicht durchgesetzt wird?
Es ist ein bisschen nicht intuitiv, aber ändern
%Vor%bis
%Vor% löst das Problem. Das dritte Argument ist bool validateAllProperties
. Ich bin mir nicht sicher, warum das [Required]
-Attribut zuvor erzwungen wurde, während [StringLength]
es nicht war, aber zumindest funktioniert es jetzt.
Danke für das Posten. Ich habe einen Fehler in Microsoft Connect für dieses Problem veröffentlicht. Ich nehme an, dass sie eine System.String-Eigenschaft fälschlicherweise überspringt, da es sich um keinen Werttyp handelt, da sie keine tiefe / rekursive Überprüfung ohne den Parameter "validateAllProperties" durchführen.
Hier ist der Bug-Link, wenn Sie interessiert sind: Ссылка
Tags und Links validation data-annotations ria