【发布时间】:2014-06-21 22:50:18
【问题描述】:
我的PersonDTO 班级有财产:
[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 pack 也不允许空字符串。
因此,我想知道是否有办法自定义标准EmailAddressAttribute 以允许空字符串,这样我就不必编写自定义验证属性了。
【问题讨论】:
-
我认为到目前为止还没有解决此问题的方法。您最终可能会编写扩展 EmailAddress 的自定义属性,或者使用 Regex 属性来验证有效的电子邮件地址并允许空字符串。参考 - aspnetwebstack.codeplex.com/workitem/1112
标签: asp.net-mvc validation attributes