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

时间:2011-11-15 13:09:45

标签: 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)
...

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

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

  1. 在我的验证表达式中添加空格。
  2. 在操作结果方法中检查是否修剪电子邮件并手动从模型状态中删除错误。
  3. 做点什么......
  4. 我不是100%肯定1,也不是2太诚实!

1 个答案:

答案 0 :(得分:1)

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