ASP.NET MVC模型状态验证屏蔽邮件

本文关键字:屏蔽 验证 状态 NET MVC 模型 ASP | 更新日期: 2023-09-27 18:01:15

我有一个email属性的模型,如下所示:

[Required]
[EmailAddress]
[Display(Name = "Email")]
public string Email { get; set; }

然后我想显示这个视图作为myemail在example。com。因此,在我将模型传递给视图之前,我格式化了电子邮件。

我的问题是,当它被张贴回来后,一些变化,ModelState。IsValid现在会失败,因为它不是一个合适的电子邮件格式。即使我在调用ModelState之前将电子邮件重新格式化为myemail@example.com。

我该怎么做呢?

我有2个选项,首先,删除属性EmailAddress,所以它将被视为字符串。其次,使用这个ModelState.Remove("Email")。第二个将删除所需的验证,我认为。

ASP.NET MVC模型状态验证屏蔽邮件

因此,在我将模型传递给视图之前,我格式化了电子邮件。

在这种情况下,不要直接格式化Email属性,而是在你的模型中有另一个属性(非必需/可选),比如public string FormattedEmail { get; set; },并使用该属性来保存格式化的电子邮件,并在你的视图中使用相同的