Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 屏蔽电子邮件的ASP.NET MVC ModelState验证_C#_Asp.net_Asp.net Mvc_Email - Fatal编程技术网

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;}
,然后使用该属性保存格式化的电子邮件,并在视图中使用相同的属性