Mam właściwość w moim klasy PersonDTO:Pozwól pusty ciąg znaków do walidacji EmailAddress przypisują
[EmailAddress]
public string Email { get; set; }
To działa dobrze, z wyjątkiem chcę, aby umożliwić puste ciągi jako wartości dla mojego modelu, jeśli wyślę JSON od strony klienta :
{ Email: "" }
mam 400 bad request
odpowiedź i
{"$id":"1","Message":"The Email field is not a valid e-mail address."}
jednak pozwala to pomijając email
wartość:
{ FirstName: "First", LastName: 'Last' }
Próbowałem też
[DataType(DataType.EmailAddress, ErrorMessage = "Email address is not valid")]
ale to nie działa.
O ile zrozumiałem, Data Annotations Extensions
pakiet nie zezwala na pusty ciąg znaków.
Zastanawiam się więc, czy istnieje sposób na dostosowanie standardowego atrybutu [EmailAddress]
, aby zezwolić na puste ciągi, więc nie muszę pisać niestandardowego atrybutu sprawdzania poprawności.
nie sądzę jest tam pracę wokół tego problemu do tej pory. Możesz zakończyć pisanie niestandardowego atrybutu rozszerzającego EmailAddress lub użyć Atrybutu Regeksu, aby zweryfikować poprawny adres e-mail i zezwolić na pusty ciąg znaków. Odniesienie - https://aspnetwebstack.codeplex.com/workitem/1112 – ramiramilu
Ewentualny duplikat - http://stackoverflow.com/questions/16098903/emailaddressattribute-without-beired- – ramiramilu
@ramiramilu, jestem zaskoczony, że nie naprawiłem to myślenie. dzięki za link – makambi