查看忽略前导和尾随空格的模型验证

Rip*_*ppo 6 c# asp.net-mvc

我有以下视图模型.

public UserViewModel {
 ...
 [Email(@"^.+@[^\.].*\.[a-z]{2,}$", false, ErrorMessage="...")]
 public string EmailAddress{ get; set; }
 ...
}

[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Visitor(UserViewModel userViewModel)
...
Run Code Online (Sandbox Code Playgroud)

但是我发现有时用户会将电子邮件从另一封电子邮件,Word文档等复制并粘贴到视图中,有时它会占用一个前导和/或尾随空格.由于用户不是最聪明的,并且输入控件中没有显示空格,所以我真的应该忽略它们并继续.

因此,如果我的模型状态无效,我想知道解决此问题的最佳方法 -

  1. 在我的验证表达式中添加空格.
  2. 在操作结果方法中,检查是否修剪电子邮件并手动从模型状态中删除错误.
  3. 做点别的......

我不是100%肯定1,也不是2老实说!

Sum*_*sht 1

您也可以在设置属性中的值时更改设置器以获取修剪代码。