MVC 3 - 在验证之前更改字段值

时间:2016-03-25 10:33:04

标签: jquery asp.net-mvc validation

我有一个带字段的模型

    [Required(ErrorMessage = "Email Address is required")]
    [RegularExpression(@"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}$", ErrorMessage = "Not a valid email address.")]
    [Display(Name = "Email Address")]
    public virtual string EmailAddress { get; set; }

如果我在电子邮件的开头有空格,则验证失败。我想编写一个JQuery方法来修改字段,然后再进行验证。 我尝试附加模糊,但验证后执行模糊。 我该如何解决这个问题?

感谢。

1 个答案:

答案 0 :(得分:0)

修复它的最简单方法是更改​​正则表达式以允许电子邮件之前和之后的空格:

"^ *[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4} *$"

然后,您可以在保存之前修剪服务器端的字段。

我建议使用EmailAddressAttribute代替 RegularExpression
在客户端,您可以删除这样的空格: jquery validate - replace commas in field before validation occurs