Nach dem Aktualisieren des Vorschlags erhält ich bin immer noch den FehlerWie die StringLength von DataAnnotations
versucht, beide mit .SingleOrDefault()
oder FirstOrDefault()
Ich brauche zum Abrufen des StringLength
Annotation Wertes bekommen und hier ist mein Code, aber ich bekomme den folgenden Fehler.
Ich habe versucht, so ziemlich den gleichen Code aus here aber immer um den Fehler zu implementieren:
Sequence contains no elements
public static class DataAnnotation
{
public static int GetMaxLengthFromStringLengthAttribute(Type modelClass, string propertyName)
{
int maxLength = 0;
var attribute = modelClass.GetProperties()
.Where(p => p.Name == propertyName)
.Single()
.GetCustomAttributes(typeof(StringLengthAttribute), true)
.Single() as StringLengthAttribute;
if (attribute != null)
maxLength = attribute.MaximumLength;
return 0;
}
}
// Berufung:
int length = DataAnnotation.GetMaxLengthFromStringLengthAttribute(typeof(EmployeeViewModel), "Name");
public class EmployeeViewModel
{
[StringLength(20, ErrorMessage = "Name cannot be longer than 20 characters.")]
public string Name{ get; set; }
}
Wenn Sie 'MinimumLength = 1' haben, dann müssen Sie die Mindestlänge erzwingen? obwohl diese Felder optional sind? –
@AbuHamzah: - Meine Antwort aktualisiert. Bitte prüfe! –
Ich aktualisierte meine Frage, immer noch den gleichen Fehler –