我在PersonDTO類有屬性:允許EmailAddress的驗證空字符串值屬性
[EmailAddress]
public string Email { get; set; }
它工作正常,但我想允許空字符串值,我的模型,如果我從客戶端發送JSON :
{ Email: "" }
我400 bad request
響應和
{"$id":"1","Message":"The Email field is not a valid e-mail address."}
然而,它能夠省略email
值:
{ FirstName: "First", LastName: 'Last' }
我也試過
[DataType(DataType.EmailAddress, ErrorMessage = "Email address is not valid")]
,但它不工作。
據我瞭解Data Annotations Extensions
包不允許空字符串。
因此,我不知道是否有一種方法可以自定義標準[EmailAddress]
屬性以允許空字符串,因此我不必編寫自定義驗證屬性。
我不認爲有針對此問題的解決辦法爲止。您最終可能會編寫一個擴展EmailAddress的自定義屬性,或者使用Regex Attribute來驗證有效的電子郵件地址並允許空字符串。參考 - https://aspnetwebstack.codeplex.com/workitem/1112 – ramiramilu
可能重複 - - http://stackoverflow.com/questions/16098903/emailaddressattribute-without-being-required – ramiramilu
@ramiramilu,我很驚訝,他們沒有固定這個想法。感謝您的鏈接 – makambi