C# 屏蔽电子邮件的ASP.NET MVC ModelState验证
我有一个电子邮件属性的模型,如下所示:C# 屏蔽电子邮件的ASP.NET MVC ModelState验证,c#,asp.net,asp.net-mvc,email,C#,Asp.net,Asp.net Mvc,Email,我有一个电子邮件属性的模型,如下所示: [Required] [EmailAddress] [Display(Name = "Email")] public string Email { get; set; } 然后,我想在example.com上以myemail的形式向视图显示它。因此,在我将模型传递到视图之前,我格式化了电子邮件 我的问题是,当它在一些更改后被发回时,ModelState.IsValid现在将失败,因为它不是正确的电子邮件格式。即使我将电子邮件重新格式化为myemail@e
[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }
然后,我想在example.com上以myemail的形式向视图显示它。因此,在我将模型传递到视图之前,我格式化了电子邮件
我的问题是,当它在一些更改后被发回时,ModelState.IsValid现在将失败,因为它不是正确的电子邮件格式。即使我将电子邮件重新格式化为myemail@example.com在调用ModelState.IsValid之前,它仍然会失败
我该怎么做
我有两个选择,第一,删除属性EmailAddress,这样它就会被当作字符串。其次,使用这个ModelState.Remove(“电子邮件”)。我认为第二个将删除所需的验证
任何建议都将不胜感激
因此,在我将模型传递到视图之前,我格式化了电子邮件
在这种情况下,不要直接格式化Email
属性,而是在模型中使用另一个属性(非必需/可选),比如publicstringformattedemail{get;set;}
,然后使用该属性保存格式化的电子邮件,并在视图中使用相同的属性